从文本文件中读取行,反转并保存到新的文本fi中

2024-06-16 08:37:15 发布

您现在位置:Python中文网/ 问答频道 /正文

到目前为止,我有这个代码:

 f = open("text.txt", "rb")
 s = f.read()
 f.close()
 f = open("newtext.txt", "wb")
 f.write(s[::-1])
 f.close()

原始文件中的文本为:

This is Line 1
This is Line 2
This is Line 3
This is Line 4

当它反转并保存时,新文件如下所示:

 4 eniL si sihT 3 eniL si sihT 2 eniL si sihT 1 eniL si sihT

当我想让它看起来像这样的时候:

 This is line 4
 This is line 3
 This is line 2
 This is line 1

我该怎么做?


Tags: 文件代码texttxtclosereadisline
3条回答
f = open("text.txt", "rb")
s = f.readlines()
f.close()
f = open("newtext.txt", "wb")
s.reverse()
for item in s:
  print>>f, item
f.close()

你可以这样做:

with open('test.txt') as f,  open('output.txt', 'w') as fout:
    fout.writelines(reversed(f.readlines()))

read()以单个字符串返回整个文件。这就是为什么当你反转它时,它也会反转直线本身,而不仅仅是它们的顺序。如果只想颠倒行的顺序,则需要使用readlines()来获取它们的列表(作为第一个近似值,它相当于s = f.read().split('\n')):

s = f.readlines()
...
f.writelines(s[::-1])
# or f.writelines(reversed(s))

相关问题 更多 >