在python中使用file.write()

时间:2014-09-27 18:30:45

标签: python

我刚才有一个快速的问题,一直在破坏我的程序。由于某种原因,file.write()只会接受1个字符串或变量,我的问题是否有任何解决方法?

例如我问是否可以一次将多个变量或字符串写入文件。像这样但没有.write(),因为它不允许你。

file.write("apples: ", numApples, "\n oranges: ", numOranges)

欢迎任何帮助或建议!

我现在想到的最好的答案是将它全部变成一个字符串,然后将其发送到文件中。

4 个答案:

答案 0 :(得分:3)

您可以将所有参数转换为字符串并将它们附加在一起。

例如, str(var) 会将 var 转换为字符串类型。

您可以在您的情况下使用 str(numApples) 等,并使用 + (字符串连接)运算符附加它们。 修改后的代码看起来像

file.write("apples: " + str(numApples) + "\n oranges: " + str(numOranges))

这里只有一个字符串参数而不是4。

答案 1 :(得分:2)

你也可以使用格式 - :

file.write("apples: {0}\n oranges: {1}".format(numApples, numOranges) )

这使您可以灵活地为数字添加格式,这是简单的字符串连接解决方​​案所没有的。

答案 2 :(得分:0)

使用file.writelines,它采用可迭代的字符串,而不是单个字符串。

或者使用print(*args, file=)来获取任何东西并为你调用str()。

答案 3 :(得分:0)

你需要从你的字符串中做出一个争论,有几种方法可以做到:

  1. 使用str()使每个部分成为字符串,然后使用' +'
  2. 连接
  3. 使用str.format
  4. 使用简洁的旧语法:

    file.write("apples: %s\noranges:%s" % (numApples, numOranges))