python - 如何从扩展名为 .pyw 的 Python 脚本打印到标准输出?

标签 python windows wxpython stdout pythonw

我有一个带有 wxpython GUI 和一些命令行参数的 python 程序。我用 py2exe 生成了一个 Windows 可执行文件。我不想在后台有一个命令行窗口,所以 py2exe 使它成为一个没有这个窗口的 pythonw 可执行文件。这相当于使用 *.pyw 扩展名。

问题是,如果您想查看可用的命令行参数,您自然会在 shell 上执行“main.exe -h”。尽管 argparse 提供了此信息,但由于 *.pyw 扩展名,它不会到达标准输出。

那么如何使用 pythonw 为 GUI 应用程序重新启用标准输出?

最小工作示例:

# test.py
print "hello"

执行:

#> python test.py
hello
#> pythonw test.py
#> 

提前感谢您的任何建议!

最佳答案

我完成此操作的一种方法是使用 py2exe 的 custom-boot-script当存在某个命令行开关时,将 sys.stdout 重定向到一个文件。

当我可以挖掘时,我会在此处提供一些示例代码,但请查看链接以帮助您入门。

关于python - 如何从扩展名为 .pyw 的 Python 脚本打印到标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7883214/

相关文章:

python2.4.3 : format bug?

python - 如何在同一行上对齐 2 个工具栏,一个左对齐,一个右对齐?

python - 如何在 wxPython PyWizardPage 向导的页面之间传递信息?

python - 导入错误:没有名为 svmcmpl 的模块

python - 在django模板中将str转换为int

python - 如何在 Graph Networkx 中找到具有公共(public)节点的边?

css - 在 Windows 7 上旋转时字体呈现模糊和锯齿状

c++ - 如何停止在所有桌面上显示 C/C++ WINAPI 窗口?

c++ - 应用程序可以伪装成文件或文件夹吗?

python - wxpython GetStatusText()