反转文本文件中的列表

时间:2019-06-13 01:15:40

标签: python python-3.x

该程序旨在读取一个文件,然后以相反的顺序创建另一个文件。第一个文件为

Luke 19
Anakin 45
Han 35
Leia 19
Obiwan 70
Yoda 400

第二个文件应该是相反的列表,首先是Yoda 400,然后是Luke 19。我通过使用reverse()函数在程序中遇到错误,它说该对象没有属性“ reverse”。
编辑:建议的帖子不会创建一个与列表相反的新文件,而只是将其反向打印。

f = open("file1.txt","r")
f1 = open("file2.txt","w")
f1.write(f.reverse())

2 个答案:

答案 0 :(得分:1)

这行得通,尽管有一个陷阱,那就是在某些文件中,最后一行没有eol字符,这意味着新文件中的第一行也没有。

with open("file1.txt","r") as f1:
    lines = f1.readlines()

with open('file2.txt', 'w') as f2:
    for item in reversed(lines):
        f2.write(f"{item}")

如果最后一行有问题,则可以删除并替换换行符。

with open("file1.txt","r") as f1:
    lines = f1.read().splitlines()

lines.reverse()

with open('file2.txt', 'w') as f2:
        f2.write('\n'.join(lines))

答案 1 :(得分:1)

您可以遵循以下代码,

f = open("file1.txt","r")
f1 = open("file2.txt","w")
f1.writelines(reversed(f.readlines()))
fout = open("file2.txt",'r')
fout.read()