在python中读取.log文件

时间:2019-09-11 05:58:06

标签: python python-3.x

嗨,我从.log文件中获得以下输出

Date/Time: 2019-09-11 13:11:48
Global Freq. Table [Ticks @ 82.3045ps]
  -1215 : 56
  -1214 : 192
  -1213 : 105
  -1212 : 375
  -1211 : 230

我想知道如何编写python脚本来首先读取以:分隔的值的列,然后将它们存储到单独的数组中。如果您能帮助我,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

假设您有一个文件( file.log ),内容如下:

Date/Time: 2019-09-11 13:11:48 Global Freq. Table [Ticks @ 82.3045ps] -1215 : 56 -1214 : 192 -1213 : 105 -1212 : 375 -1211 : 230
Date/Time: 2019-09-11 13:11:48 Global Freq. Table [Ticks @ 82.3045ps] -1215 : 56 -1214 : 192 -1213 : 105 -1212 : 375 -1211 : 230
Date/Time: 2019-09-11 13:11:48 Global Freq. Table [Ticks @ 82.3045ps] -1215 : 56 -1214 : 192 -1213 : 105 -1212 : 375 -1211 : 230

首先打开文件:

file = open('file.log', 'r')

您从文件中读取了所有行,然后将其关闭:

lines = file.read().splitlines()
file.close()

由于各列之间用字符明确分隔,因此分别获取各列很简单:

for line in lines:
    if not line:
        continue

    columns = [col.strip() for col in line.split(':') if col]

    # do something

现在,列变量包含您需要的所有列。