2012-05-17 170 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])) 

会做到这一点。