如何定向wxPython程序的输出

来源:互联网 发布:广联达园林预算软件 编辑:程序博客网 时间:2024/06/04 20:05

      摘自:《活学活用wxpython》

所有的Python程序都能够通过两种标准流来输出文本:分别是标准输出流sys.stdout和标准错误流sys.stderr。通常,Python脚本定向标准输出流到它所运行的控制台。然而,当你的应用程序对象被创建时,你可以决定使用wxPython控制标准流并重定向输出到一个窗口。在Windows下,这个重定向行为是wxPython的默认行为。而在Unix系统中,默认情况下,wxPython不控制这个标准流。在所有的系统中,当应用程序对象被创建的时候,重定向行为可以被明确地指定。我们推荐利用这个特性并总是指定重定向行为来避免不同平台上的不同行为产生的任何问题。

重定向输出

如果wxPython控制了标准流,那么经由任何方法发送到流的文本被重定向到一个wxPython的框架。在wxPyton应用程序开始之前或结束之后发送到流的文本将按照Python通常的方法处理(输出到控制台)。

修改默认的重定向行为

为了修改这个行为,wxPython允许你在创建应用程序时设置两个参数。第一个参数是redirect,如果值为True,则重定向到框架,如果值为False,则输出到控制台。如果参数redirectTrue,那么第二个参数filename也能够被设置,这样的话,输出被重定向到filename所指定的文件中而不定向到wxPython框架。

 

wxptyhon 程序运行后,有的时候stderr/stdout会在屏幕上闪一下,通过阅读上面这段资料,问题即可解决。

原创粉丝点击