【发布时间】:2015-11-20 01:26:37
【问题描述】:
py2exe 提供了一个list of options,可用于自定义生成的 exe 的设置方式。特别是,它提供了windows 和console 选项,用于指定exe 应该使用控制台还是图形界面。
我希望我的程序在执行时隐藏控制台,但也接受程序参数。
当我使用 windows 选项创建 exe 并使用有效参数运行程序时,程序似乎没有执行。
这是一个例子。假设我的python文件是HelloWorld.py:
import sys
import getopt
if __name__ == '__main__':
try:
opts, args = getopt.getopt(sys.argv[1:], 'h', ['hello'])
except getopt.GetoptError:
sys.exit(2)
for opt, arg in opts:
if opt in ('-h', '--hello'):
print 'Hello world!'
使用设置 setup(console=['HelloWorld.py']) 并运行生成的 exe,HelloWorld.exe -h 输出 Hello world!。
使用设置 setup(windows=['HelloWorld.py']) 并使用 HelloWorld.exe -h 运行生成的 exe 不会输出任何结果。
【问题讨论】:
-
windows只是阻止控制台出现;无论哪种方式,您都可以拥有 GUI。你想用这个组合的 exe 做什么? -
我解释得很糟糕。当我尝试将程序参数发送到“windows”exe 时,程序不会执行。所以,我不希望 cmd 在按下 exe 时打开,但我也希望能够使用程序 args。
-
我不明白为什么会这样;你能举一些你正在尝试的例子来解释到底发生了什么吗?
-
你能提供一个最小的完整例子吗?尝试编写一个简单地检查命令行参数的玩具应用程序,并准确显示您是如何构建
exes 的,以便我们可以测试您看到的行为。