【问题标题】:Reversing a list in a text file反转文本文件中的列表
【发布时间】:2019-06-13 01:15:40
【问题描述】:

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

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())

【问题讨论】:

标签: python python-3.x


【解决方案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))

【讨论】:

    【解决方案2】:

    你可以按照这个代码,

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

    【讨论】:

      猜你喜欢
      • 2023-01-22
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      • 2010-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多