Предположим, что я хочу вызвать программу theprogram в пакетном файле Windows. Код будет выглядеть так:Использование труб с модулем подпроцесса python
exit | theprogram arg1
Я протестировал его, и он отлично работает, огромное спасибо!
Теперь, большое изменение стратегии, я должен позвонить theprogram внутри сценария python. Для этого я использую подпроцесс . Я получаю:
subprocess.call(['theprogram', arg1])
Но для этого, чтобы работать правильно, мне нужно это трубы с заявлением на выходе, как я сделал в пакетном файле. Конечно, это не работы
subprocess.call(['exit | theprogram', arg1])
Кто-нибудь знает, как я могу правильно трубы это выход заявление на вход Theprogram?
Большое спасибо!
Я знаю, что это не строго связано с этим вопросом, но почему вы используете '' 'exit''' команды в вашем пакетном файле? Почему не просто '' 'python theprogram arg1'''? – wnnmaw
Да, пожалуйста, объясните, почему вам нужно передать несуществующий вывод 'exit' в вашу программу. Я подозреваю, что вы получите тот же результат, используя '
dbenham
Программа, которую я хотел бы выполнить, фактически является sqlplus. Когда вы запускаете его, он остается открытым, ожидая ввода команды, пока вы не попросите ее выйти (путем ввода ввода * exit *). Я не хочу вводить этот * выход * вручную каждый раз, когда я запускаю свой скрипт python, я бы предпочел, чтобы он завершился, как только это будет сделано, следовательно, трубопровод :) – Backslash36