小编典典

将打印输出定向到.txt文件

python

有没有一种方法可以将所有打印输出保存到python中的txt文件中?可以说我的代码中有这两行,我想将打印输出保存到名为的文件中output.txt

print ("Hello stackoverflow!")
print ("I have a question.")

我希望output.txt文件包含

Hello stackoverflow!
I have a question.

阅读 219

收藏
2020-12-20

共1个答案

小编典典

print一个file关键字参数,其中参数的值是文件流。我们可以使用以下open功能创建文件流:

print("Hello stackoverflow!", file=open("output.txt", "a"))
print("I have a question.", file=open("output.txt", "a"))

Python文档中有关print

所述file参数必须是与对象write(string)方法; 如果不存在或Nonesys.stdout将使用。

文档open

打开file并返回相应的文件对象。如果无法打开文件,OSError则引发。

" a "作为第二个参数open是指“追加” -换句话说,文件的现有内容不会被覆盖。如果要覆盖文件,请使用"w"


open但是,多次打开文件并不理想。理想情况下,您应该将其打开一次并命名,然后将该变量传递给printfile选项。您必须
记住之后要关闭文件!

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)
2020-12-20