反转文本中的列表

2024-04-19 23:28:27 发布

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

这个程序的目的是读取一个文件,然后用相反的列表创建另一个文件。第一个文件读取

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

第二个文件应该是这个列表的倒序,尤达400在前,卢克19在后。我在使用reverse()函数的程序中遇到一个错误,它说对象没有“reverse”属性。
编辑:建议贴不创建一个新的文件与列表在反向,它只是打印它再次在反向。你知道吗

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

Tags: 文件程序目的txt列表openreversef1
2条回答

这是可行的,尽管有一个问题,即在某些文件中,最后一行没有eol字符,这意味着新文件中的第一行也没有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))

你可以遵循这个准则

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

相关问题 更多 >