2

我正在尝试根据从对话窗口获得的输入在文本文档中编写三个单独的行。我确信这是一个简单的修复,但我似乎无法将三行写为单独的行。有人介意告诉我这段代码有什么问题吗?

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

输入应该在不同的行上,但它们的输出为:

input1input2input3

代替:

input1
input2
input3
4

2 回答 2

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.

于 2012-05-17T17:27:55.273 回答
2

您的问题是您没有包含换行符。请记住,Python 的输出就像打字机一样——你不告诉它换行,它不会。写换行符的方法是\n.

所以,

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

会做的。

于 2012-05-17T17:31:48.550 回答