2012-11-04 135 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,沒有什麼奇怪的,這是一個簡單的,不是萬無一失的解決方案,不處理格式錯誤的文本文件。更新了您的案例的答案。 –

相關問題