Ответ 1
Следующее должно работать:
myinput = open('myinput.in')
myoutput = open('myoutput.out', 'w')
p = subprocess.Popen('myprogram.exe', stdin=myinput, stdout=myoutput)
p.wait()
myoutput.flush()
Как мне выполнить репликацию следующей пакетной команды с использованием модуля подпроцесса python?
myprogram < myinput.in > myoutput.out
Другими словами, как мне запустить myprogram
с использованием содержимого myinput.in
в качестве стандартного ввода и myoutput.out
в качестве стандартного вывода?
Следующее должно работать:
myinput = open('myinput.in')
myoutput = open('myoutput.out', 'w')
p = subprocess.Popen('myprogram.exe', stdin=myinput, stdout=myoutput)
p.wait()
myoutput.flush()
открывает файл в подпроцессе. Это блокирующий вызов. Таким образом, управление не будет идти до следующей строки, пока файл не будет открыт.
ss=subprocess.Popen(FileName,shell=True)
ss.communicate()