2016-12-02 3 views
0

В настоящее время возникает проблема с внешним исполняемым файлом, когда он запускается из сценария Python. До сих пор я пытался использовать различные вызовы подпроцессов. Помимо более избыточных методов, таких как os.system и os.startfile.Внешние исполняемые сбой при запуске из сценария Python

В настоящее время exe не имеет этой проблемы, когда я вызываю ее обычно из командной строки или двойным щелчком по ней из окна проводника. Я осмотрелся, чтобы увидеть, есть ли у других людей подобная проблема. Насколько я могу судить, самая близкая причина этого вопроса в том, что дочерний процесс излишне зависает из-за ввода-вывода, превышающего 65K. Поэтому я попытался использовать Popen без PIPES, и я также изменил stdout и stdin для записи во временные файлы, чтобы попытаться облегчить мою проблему. Но, к сожалению, все это не сработало.

В конечном итоге я хотел бы авторизовать этот исполняемый файл несколько раз с различными выходами, предоставляемыми xmls. Все остальное в значительной степени на месте, включая изменения xml, которые требует исполняемый файл. Я также проверил часть изменения xml кода как автономный скрипт, чтобы убедиться, что это не проблема.

Из-за характера сценария я немного неохотно размещаю какой-либо фактический код в сети, так как компания, над которой я работаю, является немного строгой, когда дело доходит до показа кода. Я бы спросил моих коллег, могу ли я, но, к сожалению, я единственный, кто на самом деле использовал питон.

Любая помощь будет высоко оценена.

Спасибо.

ответ

0

Поскольку у меня не было никакого ответа, я как бы спустился по другому пути. Вместо того, чтобы полагаться на модуль подпроцесса для вызова exe, я переместил эту логику в пакетный файл. Xmls все еще модифицируются скриптом python, и большая часть логики по-прежнему обрабатывается в скрипте. Это не то, что идеально понравилось бы в программе, но это должно было бы сделать.

Спасибо, кто-нибудь, кто это задумал, попытался хотя бы найти альтернативу. Даже если никто не ответил.

Смежные вопросы