我試圖分析在「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