Mar*_*lze 9 python windows wxpython stdout pythonw
我有一个带有wxpython GUI和一些命令行参数的python程序.我使用py2exe生成一个单独的Windows可执行文件.我不想在后台有一个命令行窗口,所以py2exe使这个没有这个窗口的pythonw可执行文件.这相当于使用*.pyw扩展名.
问题是,如果你想看到可用的命令行参数,你自然会在shell上执行"main.exe -h".即使argparse提供此信息,由于*.pyw扩展名,它也无法到达stdout.
那么如何使用pythonw为GUI应用程序重新启用stdout呢?
最小的工作范例:
# test.py
print "hello"
Run Code Online (Sandbox Code Playgroud)
执行:
#> python test.py
hello
#> pythonw test.py
#>
Run Code Online (Sandbox Code Playgroud)
提前感谢任何建议!
我终于用某种令人讨厌的伎俩解决了我的问题。我从 argparse 获取帮助信息,如下所示:
class Parser(object):
def __init__(self):
[...init argparser...]
self.help = ""
self.__argparser.print_help(self)
def write(self, message):
self.help += message
Run Code Online (Sandbox Code Playgroud)
然后我只在“关于”对话框中显示帮助信息。
我仍然希望重新启用sys.stdout,但这目前有效。感谢所有建议!
| 归档时间: |
|
| 查看次数: |
1695 次 |
| 最近记录: |