2012-11-04 86 views
3

我试过搜索,但我还没有找到我所需要的。我正在使用python 3,并且我需要帮助将文本文件以相反的顺序写入不同的输出文件。Python 3写入输入文件以相反的顺序输出文件

因此,这将是输入文件

Hey, I am Fred 

Fred, what's up 

Fred fred fred 

,这将是在输出文件

Fred fred fred 

Fred, what's up 

Hey, I am Fred 

如果任何人有任何深入了解如何完成我将不胜感激,

回答

2
with open (input_file_name) as fi, open(output_file_name, 'w') as fo: 
    fo.writelines(reversed(fi.readlines())) 

如果INPUT_FILE是畸形的,你可以使用一个快速的(也许不是太有效率)黑客(最后一行不以“\ n”结尾):

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

有当孔也有助于澄清,这是一个“T”标志你得到的文字。否则很好。 –

+0

嘿,这段代码几乎可以工作,但正在做一些奇怪的事情。假设代码的行是1,新行2,新行3.输出文件将包含32,换行符1如果代码行是Fred,新行Tiger,新行Ant,则同样如此。输出文件将包含AntTiger,换行Fred – pythonhack

+0

@ user1797763,没有什么奇怪的,这是一个简单的,不是万无一失的解决方案,不处理格式错误的文本文件。更新了您的案例的答案。 –

相关问题