-3

我的数据是snmp取出来的,现在需要找到我要的进程。如果里面的数据打印OK,无进程打印关键。

我的代码 if 语句是错误的。

r_e:数据

val:我的过程

r_e=HOST-RESOURCES-MIB::hrSWRunName.384 = STRING: "csrss.exe" HOST-RESOURCES-MIB::hrSWRunName.408 = STRING: "winlogon.exe" HOST-RESOURCES-MIB::hrSWRunName.456 = STRING: "services.exe"
for i in r_e.split('\n'):
    data = i.split(': ')[-1].strip('"')
    print data
    if a.find(val) >=0:
        print "OK"
    else:
        print "Critical"

结果./t.py


Critical
Critical
Critical
OK
Critical
Critical

我想要结果


./t.py 
Ok 
not
./t.py
Critical
Critical
Critical
OK
Critical
Critical

这个问题已经解决。

如果 r_c != 0:
    打印“严重 - snmpwalk 错误。”

别的:
    进程 = r_e.split('\n')
    程序 = 0
    对于进程中的程序:
        programFile = program.split(':')[-1].strip('"')
        如果 programFile == val.split('!')[0]:
            程序 = 程序 + 1
    如果程序
4

1 回答 1

0

你的意思是以下吗?

datas=[i.split(': ')[-1].strip('"') for i in r_e.split('\n')]
print [(d.find(val)>=0 and "ok") or ("my process %s not exist" % val) 
            for d in datas]
于 2012-08-21T05:25:28.120 回答