这是我非常简单的代码,打印argvs:
import sys
argv=sys.argv
for each in sys.argv:
print each
下面是运行时的输出:
e:python>python test1.py 1 2 3 4 5
test1.py
1
2
3
4
5
我希望它被编译,所以我用py2exe做了一个:
e:python>python setup.py py2exe
和我的 setup.py:
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'bundle_files': 3}},
windows = [{'script': "test1.py"}],
zipfile = None,
)
当我通过test1.exe 1 2 3 4 5或任何其他argvs运行我的程序时,我没有得到任何输出.sys.argvs应该是一个至少包含一个对象(test1.exe)的列表,因此我认为我对python的打印功能有误解。我在这里做错了什么吗?我只想将所有内容打印到命令行。我从Linux编程,但Windows用户应该使用我的程序。
谢谢
# ...
windows = [{'script': "test1.py"}],
#...
windows
选项用于创建 GUI 可执行文件,从而禁止控制台输出。请改用console
:
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'bundle_files': 3}},
console = [{'script': "test1.py"}],
zipfile = None,
)