如何将 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
来在控制台中查看结果并将结果附加到日志文件中。
我想要 运行 一个 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
来在控制台中查看结果并将结果附加到日志文件中。