wxPython 笔记(11)重定向程序输出到标准控制台窗口
时间:2011-02-08 来源:左洸
会出现这种问题是因为在 Windows 平台下 wxPython 会将输出流定向到一个默认的窗口中,如果我们想留住这个窗口看清里面的错误信息,在运行程序的时候可以加一个 i 参数,如下:
python -i test.py
但是大多数时候我们还是希望在控制台窗口里看见错误信息,毕竟控制台窗口比较简单,交互性强,为了达到这个目的,就需要重定向 wx.App 的输出。}}}
{{{我们可以先看一下 wx.App 的构造函数:
__init__(self, redirect=False, filename=None, useBestVisual=False, clearSigInt=True)
注意第二个参数 redirect ,这个参数在文档说明中默认是 False ,但实际上默认值是 True ,具体是版本的原因还是平台的原因我也不知道。
这种情况下如果我们像这样创建应用程序对象:
app=wx.App( )
则默认系统输出被重定向,就会出现错误信息窗口一闪而过的情况。
如果我们像下面这样创建:
app=wx.App(False)
或者
app=wx.App(redirect=False)
则重定向被关闭,所有输出都定向到标准输出,即控制台窗口,这样就达到了目的。
另外还有第二个参数 filename ,如果在 redirect = True 重定向被打开的情况下,设定 filename 将会是所有的输出定向到你指定的这个文本文件中,对于一些就复杂的调试,这是十分有用的。
}}}
//==========================================