Я пытаюсь написать сценарий Python, который запускает подпроцесс и записывает в подпроцесс stdin. Я также хотел бы иметь возможность определить действие, которое нужно предпринять в случае сбоя подпроцесса.
Процесс, который я пытаюсь запустить, представляет собой программу под названием nuke
, которая имеет собственную встроенную версию Python, которой я хотел бы отправлять команды, а затем сообщать ей выйти после выполнения команд. До сих пор я понял, что если я запустил Python в командной строке, например, а затем запустил nuke
в качестве подпроцесса, то я смогу ввести команды для nuke
, но я бы хотел чтобы иметь возможность поместить все это в сценарий, чтобы основная программа Python могла запустить nuke
и затем записать на свой стандартный ввод (и, таким образом, во встроенную версию Python) и велел ему делать шикарные вещи, поэтому я написал сценарий, который запускает nuke
следующим образом:
subprocess.call(["C:/Program Files/Nuke6.3v5/Nuke6.3", "-t", "E:/NukeTest/test.nk"])
Затем ничего не происходит, потому что nuke
ожидает ввода пользователя. Как мне теперь писать на стандартный ввод?
Я делаю это, потому что я запускаю плагин с nuke
, который вызывает периодические сбои при рендеринге нескольких кадров. Поэтому я бы хотел, чтобы этот скрипт мог запустить ядерную бомбу
, приказать ему что-то сделать, а затем, если он выйдет из строя, повторить попытку.Так что, если есть способ поймать аварию и при этом остаться в порядке, это было бы здорово.