将所有程序的输出放在一个位置

我想将所有Python程序中的所有输出都放在一个
地方.过去几天我一直在努力使这个工作,
但是有很多烦人的小细节使
处理非常困难.我想知道是否有人可以帮助我得到这个
在职的.
目前,我有一个名为output_displayer.py这是一个程序
使用AUI标签接口的WXPYTHON应用程序.基本上只是
一个带有选项卡的框架,每个选项卡都包含一个多行文本控制
它显示一个程序的Stdout和Stderr消息.我做
每个运行程序的一个选项卡.我可能会改变界面的方式
将来有效,但基本思想只是它显示
我所有程序的Stdout和Stderr消息.
我尝试过的一件事是创建输出功能以替换
打印声明.这个新功能将其写入文件.我做到了
该文件的output_displayer投票,如果存在,请读取它,
显示其内容,然后删除它.这适用于标准
输出,但是当然,这对STDERR消息不起作用.
我尝试过的另一件事是将Stdout和STDERR重定向到文件和
让output_displayer读取这些文件.但是我希望输出
显示"现场" - 流媒体,而不是等待程序
完成运行.我认为我在输入阻止方面有问题
重定向流程时,试图从这些文件中读取.它
似乎我在程序完成运行之前无法读取文件?在
那种情况,我还有另一个问题,即确定
程序已完成运行.我该如何检测?
我认为我不想为此使用子过程,尽管我愿意
如果没有它,我就无法正常工作.我宁愿拥有
output_displayer完全独立于我的其他程序
而不是作为孩子或其他东西奔跑.
无论如何,我尝试了很多不同的事情,或多或少
淹没技术细节.有人做过这样的事情吗
前?我感谢我能得到的任何帮助.

# 回答1


在9月2日,6:30*AM,Jesse Aldridge 您是否考虑过使用Python Logging模块? http://docs.python.org/lib/module-logging.html http://www.onlamp.com/pub/a/python/2...2/logging.html
您可以在程序中或通过配置文件中定义处理程序.然后
您只需要指定它们都登录到同一位置,
您可以通过环境变量定义...

标签: python

添加新评论