如何将Python脚本控制台输出保存到文件中?

2022-04-07 00:00:00 python logging stdout

问题描述

我希望运行一个Python脚本并将其控制台输出保存到一个文件中,同时仍然能够在控制台中看到输出。例如,像print('Hello World')这样简单的";Hello World";脚本将在控制台中显示Hello World,并将此输出保存到文件中。

我以前使用pythonscript.py > console_output.txt外壳重定向,我在这个解决方案的控制台中看不到任何东西(由于某种原因,它不再将任何东西保存到指定的文件,不知道为什么)。这是一个使用Linux外壳重定向的解决方案,但现在我想编写一个单独的python脚本来执行此操作。

我认为我不需要任何特殊的错误记录内容。我当前正在使用try: except块,只是打印异常,然后使用它来查找错误。


解决方案

您可以这样做:

def custom_print(message_to_print, log_file='output.txt'):
    print(message_to_print)
    with open(log_file, 'a') as of:
        of.write(message_to_print + '
')

这样,您可以使用custom_print而不是print在控制台中查看结果,并将结果追加到日志文件中。

相关文章