如果我们假设这是test.py代码:
import sys
for arg in sys.argv:
print arg
print "Hello World!"
通过使用诸如auto-py-to-exe或pyinstaller或py2exe或...之类的工具,我们如何制作一个默认情况下在执行时传递特定参数的exe?例如:通过使用工具,我们从test.py中创建一个test.exe并通过执行test.exe将使用foobar作为arg,test.exe执行的输出为:
foobar
Hello World!
我已经测试了auto-py-to-exe和pyinstaller,但是两者都没有这样的选项。我应该提到,我对使用[any]工具更感兴趣,而不仅仅是修改python源。因为在较大的来源中修改可能是一项艰巨的任务。
答案 0 :(得分:0)
我建议使用pythons ArgumentParser(https://docs.python.org/2/howto/argparse.html),并为您的参数设置一个default=
值。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("argument", default="foobar")
args = parser.parse_args()
print arg
print "Hello World!"
您还可以重组调用的python脚本,以使用所需的参数来实现“ main”方法:
def main(argument):
print argument
print "Hello World!"
对于您的特定可执行文件,只需创建单独的包装脚本即可:
foobar.py
from test import main
test("foobar")
anotherfoobar.py
from test import main
test("anotherfoobar")
现在,您可以使用pyinstaller分别创建foobar.py和另一个foobar.py的可执行文件。