В настоящее время я запускаю это в Windows:
args = ['start', windowname, 'python', '-i', myscript]
subprocess.Popen(args, shell=True)
Как видите, я запускаю подпроцесс, выполняющий myscript в интерактивном режиме Python. В моем случае это означает, что после выхода скрипта, независимо от того, произошла ли ошибка или он успешно завершился, окно/оболочка остается открытым. Однако мне бы хотелось, чтобы при ошибке myscript окно оставалось открытым, а при успешном запуске myscript окно закрывалось.
Причина, по которой я это делаю, заключается в том, что я хочу видеть ошибки и выходные данные, ведущие к ошибкам — я бы предпочел не использовать какую-либо форму ведения журнала, потому что мне легче визуально видеть окна и выходные данные.
Я не думаю, что смогу проверить код возврата, потому что процесс, с которым я взаимодействую, это start/cmd, а не python. Пожалуйста, поправьте меня, если я ошибаюсь!
Спасибо!
python -i
вместо простоpython
? 28.03.2013sys.exit(0)
должен работать для выхода, если вы не обнаружили никаких ошибок (это также завершает интерактивный интерпретатор). Я, кажется, не вижу проблемы? 28.03.2013