本文共 866 字,大约阅读时间需要 2 分钟。
{ { {wxPython 程序在调试过程中经常会出现这种情况:一个白色的窗口一闪就结束了,到底程序哪里出了问题根本看不清楚,而控制台窗口什么提示也没有。
会出现这种问题是因为在 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 将会是所有的输出定向到你指定的这个文本文件中,对于一些就复杂的调试,这是十分有用的。
}}}
//==========================================
本文转自左洸博客园博客,原文链接:http://www.cnblogs.com/myqiao/archive/2011/02/08/1949892.html,如需转载请自行联系原作者