【发布时间】:2019-02-28 18:25:30
【问题描述】:
我想逐行读取下面给出的文本文件。我不想使用readlines() 或read()。
a.txt
2018/03/25-00:08:48.638553 508 7FF4A8F3D704 snononsonfvnosnovoosr
2018/03/25-10:08:48.985053 346K 7FE9D2D51706 ahelooa afoaona woom
2018/03/25-20:08:50.486601 1.5M 7FE9D3D41706 qojfcmqcacaeia
2018/03/25-24:08:50.980519 16K 7FE9BD1AF707 user: number is 93823004
2018/03/26-00:08:50.981908 1389 7FE9BDC2B707 user 7fb31ecfa700
2018/03/26-10:08:51.066967 0 7FE9BDC91700 Exit Status = 0x0
2018/03/26-15:08:51.066968 1 7FE9BDC91700 std:ZMD:
预期结果:
2018/03/26-15:08:51.066968 1 7FE9BDC91700 std:ZMD:
2018/03/26-10:08:51.066967 0 7FE9BDC91700 Exit Status = 0x0
2018/03/26-00:08:50.981908 1389 7FE9BDC2B707 user 7fb31ecfa700
2018/03/25-24:08:50.980519 16K 7FE9BD1AF707 user: number is 93823004
2018/03/25-20:08:50.486601 1.5M 7FE9D3D41706 qojfcmqcacaeia
2018/03/25-10:08:48.985053 346K 7FE9D2D51706 ahelooa afoaona woom
2018/03/25-00:08:48.638553 508 7FF4A8F3D704 snononsonfvnosnovoosr
我的解决方案:
with open('a.txt') as lines:
for line in reversed(lines):
print(line)
【问题讨论】:
-
如果您想发布一个自我回答的问题,请将解决方案放在答案中,而不是问题本身。
-
@mad_,但应该有办法以相反的顺序读取文本文件。
-
@chepner OP 的解决方案不能作为答案,因为它不起作用,因为
reversed不能与可迭代对象一起使用,必须与已知长度的序列一起使用。 -
user15051990:反向读取文本文件的行的问题是它们的长度通常不同,因此您需要先阅读整个内容。
-
@blhsing,是的,你是对的,
reversed不能与迭代器一起使用。