首页 > 解决方案 > 在批处理文件中运行python时如何将python打印输出保存为文本

问题描述

我目前正在批处理文件中运行 python 脚本。在python中,我有一些打印功能来监控正在运行的代码。然后打印的信息将显示在命令窗口中。同时,我还想将所有这些打印输出的文本保存到日志文件中,这样我就可以长期跟踪它们。

目前,要做到这一点,我需要在 python 中同时拥有 print 函数并使用 text.write 函数写入文本文件。这给维护带来了一些麻烦,因为每次更改一些打印文本时,我还需要更改写入函数中的文本。我也觉得这不是最有效的方法。

例如:

start_time = datetime.now()
print("This code is run at " + str(start_time) + "\n")
log_file.write("This code is run at " + str(start_time) + "\n")

我想在python中使用打印功能,所以我可以在命令窗口中看到它,然后将所有打印输出信息一次保存到一个日志文件中。

标签: pythonbatch-fileprintingsave

解决方案


从长远来看,为了获得更好的解决方案,请考虑内置的日志记录模块。您可以提供多个目标,例如标准输出和文件、日志轮换、格式和重要性级别。

例子:

import logging
logging.basicConfig(filename='log_file', filemode='w', level=logging.DEBUG)

logging.info("This code is run at %", start_time)

推荐阅读