2012-08-29 67 views
0

我需要一些文本添加到文檔這樣一個txt的每一行:前綴和後綴來使用python

原始文件:

C:\listagem.txt 

i love python 
macdonals hamburger 
yolo 4ever 

我需要添加一個後綴,前綴,所以結果看起來像這樣:

teste.txt 

blablablai love pythongugugugugu 
blablablamacdonalds hamburgergugugugugu 
blablablayolo 4evergugugugugu 

我已經試過這個算法,但它沒有工作。

prefix = 'blablabla' 
suffix = 'gugugugugu' 
dest = '' 
with open('C:\listagem.txt', 'r') as src: 
    with open('teste.txt', 'w') as dest: 
     for line in src: 
      dest.write('%s%s%s\n' % (prefix, line.rstrip('\n'), suffix)) 

我在Windows XP上使用python 3.2.3。

+0

代碼失敗的原因是什麼? – chepner

+0

我測試了你的代碼,它適用於我。你必須做別的錯誤,這不在你的代碼中,因爲你發佈的代碼只是做它應該做的事情,儘管'dest ='''是不明智的,應該刪除。 – BrtH

+1

腳本是否引發異常? 它是如何失敗的? – StoryTeller

回答

1

你的代碼主要是文件,但文件名是問題。見this answer on Stackoverflow

更改您的路徑,像這樣:

with open('C:\\listagem.txt', 'r') as src: 

..或使用raw strings

with open(r'C:\listagem.txt', 'r') as src: # r'raw string' ignores backslashes 

..或者你可以也許只是用斜槓 - 如果這個工程,我建議它(因爲反斜槓是一種痛苦):

with open('C:/listagem.txt', 'r') as src: 

另請注意,您的示例輸入文件顯示爲cont ain尾隨空白。在你提供的數據,有i love python後兩個空格,這樣你的輸出看起來像這樣:

{prefix}i love python {suffix} 

這可能是你的問題#1被引入,而不是原來的文件。

+0

這兩個文件都打開,真正的問題是,我不能得到我的輸出在teste.txt作爲應該 – user1634295

+0

@ user1634295哦,你會得到什麼輸出'teste.txt'?沒有? – dbr

+0

夥計們!它現在的作品! – user1634295