首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何记录所有打印语句

如何记录所有打印语句
EN

Stack Overflow用户
提问于 2013-08-27 17:34:38
回答 1查看 439关注 0票数 0

我的程序很大,我希望所有的打印语句都被记录下来,因此我实现了

代码语言:javascript
复制
F = open('testy.txt','w')
sys.stdout = F

if app.button_press() == True and app.return_data():
    data = app.return_data()
    main(data[0],data[1],data[2],data[3],data[4],data[5],data[6],data[7],data[8])

F.close()

这就是我以前用几个打印语句处理的小程序,但是这个程序有几百个,我想,当我运行我的程序时,它会冻结,我认为它有很多打印语句,内存溢出,所以我如何在不影响它的功能的情况下将所有的打印语句记录到一个.txt文件中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-27 17:38:13

您不应该使用print语句进行日志记录,也不应该在生产代码中重定向标准输出(或任何其他标准流)。相反,您应该使用logging模块编写消息,并设置需要将日志消息记录到正确位置的处理程序,可能是文件处理程序旋转文件处理程序

如果您已经有太多的现有代码打印日志消息而不能一次重构,那么我建议您实现logging,将其用于未来的所有日志记录,设置一个类似文件的对象,将标准输出到logging以捕获现有的日志消息,然后随着时间的推移重构所有基于打印的日志记录。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18471995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档