当前位置: 首页 > 面试题库 >

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

郎祯
2023-03-14
问题内容

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

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

我希望output.txt文件包含

Hello stackoverflow!
I have a question.

问题答案:

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)


 类似资料:
  • 问题内容: 我有一个Python脚本,它利用“打印”来打印到stdout。我最近通过Python Logger添加了日志记录,并希望通过日志记录使这些打印语句进入日志记录器(如果启用了日志记录)。我不想修改或删除这些打印语句。 我可以通过执行’log.info(“ some info msg”)’进行记录。我希望能够做这样的事情: 如果启用了日志记录,则应该像记录log.info(“ test”)

  • 问题内容: 如何将Java输出同时输出到Shell控制台和某个文件中?那可能吗? 问题答案: 您可以在程序的开头包含以下几行:

  • 问题内容: 我想使用python将打印重定向到.txt文件。我有一个“ for”循环,当我要将所有这些输出重定向到一个文件时,它将“打印”每个文件的输出。所以我试着把 在我的脚本的开头。但是,.txt文件中什么也没有。我的脚本是: 所以有什么问题?除了此sys.stdout以外,还有其他方法吗? 我需要我的结果看起来像: 问题答案: 最明显的方法是打印到文件对象: 但是,重定向标准输出对我也有效。

  • 问题内容: 如何将输出重定向到txt文件(在Windows平台上)? 问题答案: 如果是我,我将使用上面的David Heffernan的方法将变量写入文本文件(因为其他方法要求用户使用命令提示符)。

  • 问题内容: 我正在AIX 6上工作,在KIX Shell上运行Java命令,并且正在尝试调试类加载问题。我放了-verbose:class来打印加载的类,然后>> / home / user / log.log将控制台放到一个文件中。已创建log.log文件,但其大小为零。文件不包含任何信息,所有详细信息都在一闪而过。 问题答案: 也尝试重定向: 您的Java代码可能正在编写您的命令未重定向的信息

  • 问题内容: 我是一个相对较新的程序员,所以这可能是一个非常简单的问题,但是让我有些困惑。 我正在尝试将Java GUI的最终输出打印到打印机。现在,在我的GUI中,有了它,当您单击打印时,会弹出一个弹出窗口,列出可用的打印机,并根据您选择的打印机,将其打印到该打印机。 但是事实并非如此。我通过搜索互联网来解决此问题,从而获得了大部分代码,并找到了一些很有前途的代码。但是,它是从文件打印出来的。因此