【问题标题】:Python 3 Writing Input file in reverse order to output filePython 3以相反的顺序将输入文件写入输出文件
【发布时间】:2012-10-24 10:06:13
【问题描述】:

我已经尝试过搜索,但我没有找到我真正需要的东西。我正在使用 python 3,我需要帮助以相反的顺序将文本文件写入不同的输出文件。

所以这就是输入文件

Hey, I am Fred

Fred, what's up

Fred fred fred

这就是输出文件

Fred fred fred

Fred, what's up

Hey, I am Fred

如果有人对如何完成有任何见解,我将不胜感激,

【问题讨论】:

    标签: file python-3.x reverse


    【解决方案1】:
    with open (input_file_name) as fi, open(output_file_name, 'w') as fo:
        fo.writelines(reversed(fi.readlines()))
    

    如果 input_file 格式错误(最后一行不以 '\n' 结尾),您可以使用快速(可能不太有效)的 hack:

    with open ('c:\\temp\\input_file') as fi, open('c:\\temp\\output_file', 'w') as fo:
        fo.write('\n'.join(reversed(fi.read().splitlines())))
    

    【讨论】:

    • 打开时有一个't'标志有助于澄清你得到的文本。否则很好。
    • 嘿,这段代码几乎可以工作,但正在做一些奇怪的事情。假设代码行是 1,新行 2,新行 3。输出文件将包含 32,新行 1 如果代码行是 Fred,新行 Tiger,新行 Ant,也是如此。输出文件将包含 AntTiger、换行符 Fred
    • @user1797763,没有什么奇怪的,它是一个简单但并非万无一失的解决方案,它不处理格式错误的文本文件。更新了您案例的答案。
    • 完美。谢谢,不胜感激。
    猜你喜欢
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 2019-04-04
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    相关资源
    最近更新 更多