Если предположить, что это код test.py:
import sys
for arg in sys.argv:
print arg
print "Hello World!"
Используя такие инструменты, как авто-py-to-exe или pyinstaller или py2exe или ..., как мы можем сделать exe, который по умолчанию передает определенный аргумент при выполнении? Например: с помощью инструмента мы создаем test.exe из test.py, а при выполнении test.exe он будет использовать foobar как arg. Результат выполнения test.exe:
foobar
Hello World!
Я уже тестировал auto-py-to-exe и pyinstaller, но в обоих нет такой опции. Я должен упомянуть, что меня больше интересует использование [любых] инструментов, а не просто изменение исходного кода Python. Потому что изменение может быть сложной задачей в более крупных источниках.






Я бы рекомендовал использовать Python 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 для реализации «основного» метода с необходимыми аргументами:
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 и anotherfoobar.py по отдельности.
Спасибо за ресурсы и примеры. Похоже на рабочее решение, особенно в таких простых кодах, но я ищу решение на стороне инструмента, не изменяя файл py (я упомяну об этом в вопросе), потому что исходный код, который Я вижу, что это 6000 строк кода, и его трудно изменить.