【问题标题】:Python writing to file multiple lines at oncePython一次写入多行文件
【发布时间】:2015-07-18 00:34:37
【问题描述】:

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

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 命令来写入所有最后三个数字?

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

【问题讨论】:

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

标签: python io


【解决方案1】:

你可以这样做:

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

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

更新:

由于您事先并不知道您正在编写的所有内容,您可以这样做:

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

file.write(stringToWrite)

【讨论】:

  • Zip:This answer 到一个可能相关的问题也可能感兴趣。
【解决方案2】:

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

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

如果他们这样做:

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

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

【讨论】:

    【解决方案3】:

    不要忘记换行符只是另一个字符:

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

    【讨论】:

      【解决方案4】:

      我假设您将“4”、“5”和“6”作为单独的变量。如果是这样,试试这个:

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

      【讨论】:

        猜你喜欢
        • 2012-06-24
        • 1970-01-01
        • 2013-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-14
        相关资源
        最近更新 更多