python - 在批处理文件中运行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中使用打印功能,所以我可以在命令窗口中看到它,然后将所有打印输出信息一次保存到一个日志文件中。
解决方案
从长远来看,为了获得更好的解决方案,请考虑内置的日志记录模块。您可以提供多个目标,例如标准输出和文件、日志轮换、格式和重要性级别。
例子:
import logging
logging.basicConfig(filename='log_file', filemode='w', level=logging.DEBUG)
logging.info("This code is run at %", start_time)
推荐阅读
- javascript - 在“Promise.then()”中返回一个带有“then”函数的对象
- javascript - 如何水平对齐两个 React 组件?
- routing - Yii2 showScriptName 给我 404s
- c++ - QMetaObject::indexOfMethod() 寻找槽失败
- c# - 无法更改 IBM MQ XMS.NET 客户端重新连接超时
- import - 无法将字体导入 mjml
- javascript - 在页面加载期间无法更改表单子元素的边框颜色
- identityserver4 - UnauthorizedAccessException:对路径 'c:\windows\system32\inetsrv\tempkey.rsa' 的访问被拒绝。”
- c - C语言:在另一个文件中的main.c文件中使用枚举变量和类型定义的麻烦
- maven - 无需从存储库获取依赖项即可自动部署 EAR 项目