Python 将运行结果保存到log文件中遇到的问题

用python写了一段代码,想把运行结果保存到log文件中,加了一句sys.stdout=open('out.log','a'),代码中有一个模块是建立一个交互界面在运行... 用python写了一段代码,想把运行结果保存到log文件中,加了一句sys.stdout = open('out.log', 'a'),代码中有一个模块是建立一个交互界面在运行时选择
如果该句放在最开始,运行时此界面无法显示,但运行结果可保存至log;如果该句放在模块之后,界面可显示但结果无法保存至log。如何使两者能同时进行。
请问有什么好方法解决么?
windows下
展开
 我来答
bdwisyou7d
推荐于2018-03-29 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1075万
展开全部
这个简单啊。通过管道输出到另一个程序里去,另外一个程序同时打印并输出到out.log

这是我常用的办法。

还有一个笨办法,用自己的myprint代替所有的print语句。这样你可以同时输出到屏幕与文件了。

第三个办法是通过logging。这个模块支持多个listener,可以同时输出到屏幕与文件以及网络。
追答
假设有一个程序叫mytype.py
import os
for line in sys.stdin.readlines():

open("somelog.txt","ab").write(line)
print line.str()

再假设你的程序是test_print.py

使用管道的做法是这样python test_print.py | python mytype.py
三词故事
2013-06-25 · 超过13用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:35.6万
展开全部
加一个按钮,点击按钮时执行保存到文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式