2015-12-28 40 views
0

我有4行日誌文件,例如:如何將一個字符串拆分爲Python中正則表達式的行?

12/12/2015 18:00:00 Computer:PC_1 (Rel:7.8.x)          
ERROR message: 1245456487               
The wifi was not available               
The user needs to validate 

現在我想從第一行,第二行與Python中的正則表達式拆分獲得:

line1 == '12/12/2015 18:00:00 Computer:PC_1 (Rel:7.8.x)'   
line2 == '2 ERROR message: 1245456487' 
+3

除了「它在不同的行上」,您還沒有指定任何類型的模式,當然這不需要正則表達式。 – TigerhawkT3

+0

有什麼辦法可以分割線條?到目前爲止,我有這樣的:l = s.split(「」)。我是Python新手,剛剛開始編寫腳本。 – prispvdp

+1

你可以試試's.splitlines()' –

回答

1

你可以簡單地分割你的日誌文件到行的列表喜歡這樣的:

with open('mylogfile.txt') as f: 
    lines = list(f) 

lines[0]將是第一線,lines[1]第二麗ne等等。

分裂的str一個實例爲行可以這樣做:

>>> s="""12/12/2015 18:00:00 Computer:PC_1 (Rel:7.8.x) 
... ERROR message: 1245456487 
... The wifi was not available 
... The user needs to validate""" 
>>> lines = s.splitlines() 
>>> lines[0] 
'12/12/2015 18:00:00 Computer:PC_1 (Rel:7.8.x)' 
>>> lines[1] 
'ERROR message: 1245456487' 

你並不需要在這兩種情況下這個任務正則表達式。

+0

如果換行符不是''\ n''怎麼辦?你應該使用'os.linesep'而不是 –

+0

@MukundMK如果它被讀作文本文件,那麼無論操作系統用作磁盤上的字節序列,換行符*都是*''\ n''。 – BlackJack

相關問題