2012-05-17 331 views
2

我想根據從對話窗口獲得的輸入在文本文檔中寫入三個單獨的行。我相信這是一個簡單的修復,但我似乎無法將三行分別寫成單獨的行。有人會告訴我這段代碼有什麼問題嗎?讀取和寫入文件python

file = open('file.txt', 'wb') 
file.write('input1') 
file.write('input2') 
file.write('input3') 

的投入應該在不同的線路,而是他們出來爲:

input1input2input3 

相反的:

input1 
input2 
input3 

回答

8

試試這個:

file = open('file.txt', 'wb') 
file.write('input1\n') 
file.write('input2\n') 
file.write('input3\n') 

你是追加換行符'\n'前進到下一行。

如果使用with結構,它會自動關閉該文件爲您提供:

with open('file.txt', 'wb') as file: 
    file.write('input1\n') 
    file.write('input2\n') 
    file.write('input3\n') 

另外,還要考慮代替file使用不同的變量名。

+1

另一個,我不喜歡,但是相當普遍的是'print >> file',input1'' –

2

你的問題是你沒有包括換行符。請記住,Python是像打字機一樣輸出 - 你不會告訴它去一個新的線,它不會。寫一個換行符的方法是\n

所以,

file.write('\n'.join([input1, input2, input3])) 

會做到這一點。