从文本文件中读取行,反向并保存在新的文本文件中

JaA*_*nTr 4 python python-2.7

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

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

原始文件中的文本是:

This is Line 1
This is Line 2
This is Line 3
This is Line 4
Run Code Online (Sandbox Code Playgroud)

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

 4 eniL si sihT 3 eniL si sihT 2 eniL si sihT 1 eniL si sihT
Run Code Online (Sandbox Code Playgroud)

当我希望它看起来像这样:

 This is line 4
 This is line 3
 This is line 2
 This is line 1
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Sau*_*tro 10

你可以这样做:

with open('test.txt') as f,  open('output.txt', 'w') as fout:
    fout.writelines(reversed(f.readlines()))
Run Code Online (Sandbox Code Playgroud)

  • 这是美丽,可读,pythonic代码!你的答案应该得到更多的赞成. (2认同)

bit*_*dev 2

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()
Run Code Online (Sandbox Code Playgroud)