我需要检查库存日志中的值,将这些字符串与预设值进行比较,如果它们不匹配,则报告错误。
这些是所有库存日志应具有的值:
+硬件信息
处理器:Intel(R)Xeon(R)CPU E5-2420 0 @ 1.90GHz
内存:65493MB
控制器插槽:0
BIOS:3.0b 03/28/2014 3.2
IPMI FW rev:2.24
那么如何读取这些值,将它们与这些值进行比较:3.0b,2.24等,如果它们不匹配则报告错误?我现在正在处理这个问题。
i = 0
while i < len( inventory_lines):
m = re.search( '(^ERROR:\s+.*)', inventory_lines[i] )
i += 1
if m:
arack = findRack( Lab, Rack )
aslot = findSlot( arack, Slot )
append_uniq_scanIssues( aslot, m.group(1) )
print '%s SCAN ISSUES: %s' % ( linenum(), m.group(1) )
答案 0 :(得分:0)
假设您的csv看起来像这样:
Processor,Memory,Controller Slot, BIOS,IPMI FW rev
Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz,65493MB,0,3.0b 03/28/2014 3.2,2.24
...
你想要这样的东西:
import csv
good_values = {
'Processor': 'Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz',
'Memory':, '65493MB'
'Controller Slot': '0',
'BIOS': '3.0b 03/28/2014 3.2',
'IPMI FW rev': '2.24',
}
for i, line in enumerate(csv.DictReader(open("INVENTORY FILE"))):
if line != good_values:
print "Error: on line %s" % (i)