我有一个任意行的日志文件。我所需要做的就是从日志文件中提取一行以“ Total”开头的数据。我不希望文件中有其他任何行。我如何为此编写一个简单的python程序?这是我的输入文件的外观TestName id eno TPS GRE FNPTest 1205 1 0 78.00 0.00 0.02Test 1206 1 0 45.00 0.00 0.02Test 1207 1 0 73400 0.00 0.02Test 1208 1 0 34.00 0.00 0.02Totals 64 0 129.61 145.64 1.12我正在尝试获取一个看起来像的输出文件TestName id TPS GRETotals 64 129.61 145.64好的,所以我只希望输入文件中的第一,第二,第四和第五列,而不需要其他。我正在尝试list [index]实现此目的,但出现IndexError:(列表索引超出范围)。另外2列之间的间距也不相同,所以我不确定如何拆分列并选择所需的列。有人可以帮我这个忙吗?下面是我使用的程序newFile = open('sana.log','r')for line in newFile.readlines(): if ('TestName' in line) or ('Totals' in line): data = line.split('\t') print data[0]+data[1]
2 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
for line in open('filename.txt', 'r'):
if line.startswith('TestName') or line.startswith('Totals'):
fields = line.rsplit(None, 5)
print '\t'.join(fields[:2] + fields[3:4])
添加回答
举报
0/150
提交
取消