给print 一个file 关键字参数,其中参数的值是一个文件流。我们可以使用open函数创建一个文件流:
print("Hello stackoverflow!", file=open("output.txt", "a"))
print("I have a question.", file=open("output.txt", "a"))
来自Python documentation about print:
file 参数必须是具有write(string) 方法的对象;如果它不存在或None,将使用sys.stdout。
还有the documentation for open:
打开file 并返回一个对应的文件对象。如果文件无法打开,则会引发OSError。
"a" 作为open 的第二个参数的意思是“追加”——换句话说,文件的现有内容不会被覆盖。如果您希望文件被覆盖,请使用"w"。
但是,多次使用open 打开文件对于性能来说并不理想。理想情况下,您应该打开它一次并为其命名,然后将该变量传递给print 的file 选项。您必须记住之后关闭文件!
f = open("output.txt", "a")
print("Hello stackoverflow!", file=f)
print("I have a question.", file=f)
f.close()
还有一个语法快捷方式,即with 块。这将在块的末尾为您关闭您的文件:
with open("output.txt", "a") as f:
print("Hello stackoverflow!", file=f)
print("I have a question.", file=f)