Как заставить argparse работать в исполняемой программеPython

Программы на Python
Anonymous
Как заставить argparse работать в исполняемой программе

Сообщение Anonymous »

У меня есть сценарий командной строки, использующий модуль argparse.

Код: Выделить всё

import argparse

def run():
print 'Running'

def export():
print 'Exporting'

def argument_parser():
parser = argparse.ArgumentParser()
parser.add_argument('run', action='store_true')
parser.add_argument('export', action='store_true')
return parser.parse_args()

args = argument_parser()
if args.run:
run()
else:
export()
Теперь он отлично работает при запуске из командной строки > python myfile.py run и т. д.
Однако с помощью pyinstaller я создал из него исполняемый файл, и если я открою файл main.exe, я получу слишком мало аргументов, что вполне логично. Но я хочу иметь возможность открыть (двойной щелчок) файл main.exe (который открывает инструмент командной строки) и заставить командную строку ждать моей команды (в данном случае запустить или экспортировать). Вместо этого он просто выдает ошибку и завершает работу.

Вернуться в «Python»