2015-12-28 41 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

相关问题