我刚才有一个快速的问题,一直在破坏我的程序。由于某种原因,file.write()只会接受1个字符串或变量,我的问题是否有任何解决方法?
例如我问是否可以一次将多个变量或字符串写入文件。像这样但没有.write(),因为它不允许你。
file.write("apples: ", numApples, "\n oranges: ", numOranges)
欢迎任何帮助或建议!
我现在想到的最好的答案是将它全部变成一个字符串,然后将其发送到文件中。
答案 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)
你需要从你的字符串中做出一个争论,有几种方法可以做到:
使用简洁的旧语法:
file.write("apples: %s\noranges:%s" % (numApples, numOranges))