将预设值与库存日志中的值进行比较?

2024-06-14 21:19:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要检查库存日志中的值,将这些字符串与预设值进行比较,如果不匹配,则报告错误

以下是所有库存日志应具有的值:

+硬件信息

处理器:Intel(R)Xeon(R)CPU E5-2420 0@1.90GHz

内存:65493MB

控制器插槽:0

BIOS:3.0b 03/28/2014 3.2

IPMI固件版本: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) )

Tags: 字符串信息硬件报告错误库存group处理器
1条回答
网友
1楼 · 发布于 2024-06-14 21:19:25

假设您的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)

相关问题 更多 >