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

How to save Python script console output to a file?

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

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

我认为我不需要任何特殊的错误日志记录。我目前正在使用 try: except 块并仅打印异常,然后使用它来查找错误。

尝试 tee 命令,例如:pythonscript.py | tee console_output.txt

你可以这样做:

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 + '\n')

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