我试图分析在“clientname'.txt的Python:解析与领域
hostname:comp1
time: Fri Jan 28 20:00:02 GMT 2011
ip:xxx.xxx.xx.xx
fs:good:45
memory:bad:78
swap:good:34
Mail:good
每个部分由分隔以下格式AA几个文件的种种罪状冒号分隔的文件:哪来行0,2,6有2个字段...行1,3-5有3个或更多字段。 (我遇到的一个大问题是时间:行,因为20:00:02是真正的时间而不是3个独立的字段。
我有几个这样的文件,我需要解析。更多的线在一些具有多个字段的这些文件。
...
for i in clients:
if os.path.isfile(rpt_path + i + rpt_ext): # if the rpt exists then do this
rpt = rpt_path + i + rpt_ext
l_count = 0
for line in open(rpt, "r"):
s_line = line.rstrip()
part = s_line.split(':')
print part
l_count = l_count + 1
else: # else break
break
首先,我检查,如果该文件存在第一,如果它再打开该文件,并解析它(最终)截至目前,我只是打印输出(打印部分)以确保它正确解析 老实说,我现在唯一遇到的问题是时间:字段。我如何处理与所有其他字符完全不同的时间字段?总是在我的所有报告文件中的第二行。
我不得不跳过每行有1个以上的分隔符,而那些有1个以上的分隔符的行并不总是在文件的相同位置。 – MarkP 2011-01-28 23:20:54
我无法遵循你正在努力完成的任务。你是否想要处理所有具有多于一个的行:不同的(除了时间:行)? – 2011-01-28 23:23:52
我想解决方法是检查每一行:然后如果它有超过3个单独处理它?不知道如何做到这一点。 – MarkP 2011-01-28 23:26:19