Использование файлов в качестве stdin и stdout для подпроцесса - программирование
Подтвердить что ты не робот

Использование файлов в качестве stdin и stdout для подпроцесса

Как мне выполнить репликацию следующей пакетной команды с использованием модуля подпроцесса python?

myprogram < myinput.in > myoutput.out

Другими словами, как мне запустить myprogram с использованием содержимого myinput.in в качестве стандартного ввода и myoutput.out в качестве стандартного вывода?

4b9b3361

Ответ 1

Следующее должно работать:

myinput = open('myinput.in')
myoutput = open('myoutput.out', 'w')
p = subprocess.Popen('myprogram.exe', stdin=myinput, stdout=myoutput)
p.wait()
myoutput.flush()

Ответ 2

открывает файл в подпроцессе. Это блокирующий вызов. Таким образом, управление не будет идти до следующей строки, пока файл не будет открыт.

ss=subprocess.Popen(FileName,shell=True)
ss.communicate()