嗨,请问我如何遍历文本文件,识别此类行的最后一个索引处带有 0 的行,并在检索未删除的行的同时删除这些行。然后将输出格式化为元组。
input.txt = 1 2 0
1 3 0
11 4 0.058529
...
...
...
97 7 0.0789
所需的输出应如下所示
[(11,4,{'volume': 0.058529})]
谢谢
将inplace=1
传递给fileinput.input()
以就地修改文件。循环内打印的所有内容都将写入文件:
import fileinput
results = []
for line in fileinput.input('input.txt', inplace=1):
data = line.split()
if data[-1].strip() == '0':
print line.strip()
else:
results.append(tuple(map(int, data[:-1])) + ({'volume': float(data[-1])}, ))
print results
如果input.txt
包含:
1 2 0
1 3 0
11 4 0.058529
97 7 0.0789
代码将打印:
[(11, 4, {'volume': 0.058529}),
(97, 7, {'volume': 0.0789})]
input.txt
的内容变为:
1 2 0
1 3 0