Python写入一次文件多行

时间:2015-07-18 00:34:38

标签: python io

我有一个包含以下内容的文件。

1
2
3

现在我想写4,5和6,以便文件内容如下所示

1
2
3
4
5
6

不是通过执行file.write("4" + '\n')file.write("5" + '\n')file.write("6" + '\n')来编写4,5和6,如何只用一次调用file.write命令来编写所有最后三个数字?

更新:我事先并不知道我将向该文件添加多少个号码。将添加的数字存储在一个巨大的列表中。

4 个答案:

答案 0 :(得分:2)

你可以这样做:

file.write("%s \n %s \n %s \n" % (string1, string2, string3))

我假设您想要写的字符串实际上比单个数字更复杂。

更新

由于您不知道您提前写的所有内容,您可以这样做:

stringToWrite = ""
for x in listOfNumbers:
    stringToWrite += x + "/n"

file.write(stringToWrite)

答案 1 :(得分:1)

假设你的字符串不以换行符结尾:

file.write('\n'.join(strings) + '\n')

如果他们这样做:

file.write(''.join(strings))

strings可以是字符串值的列表或元组,也可以是包含字符串值的可迭代的任何其他内容。

答案 2 :(得分:0)

不要忘记换行只是另一个角色:

file.write("4\n5\n6\n")

答案 3 :(得分:0)

我假设你有'4','5'和'6'作为单独的变量。如果是这样,试试这个:

x='4'
y='5'
z='6'
file.write('\n'.join([x, y, z]) + '\n)