2013-03-01 130 views

回答

24

下面应该工作:

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

这看起来接近我所需要的。如何检测错误是否发生? – 2013-10-15 16:36:26

+0

没关系。 stderr = subprocess.PIPE,那么,如果stderr:print error – 2013-10-15 16:41:52

+0

在'myoutput = open('myoutput.out'。'w')这行''参数应该用','分隔,而不是''' – flagg19 2015-01-27 11:05:21

-5

打开一个文件的子进程。这是一个阻塞呼叫。所以控制不会进入下一行,直到文件打开。

ss=subprocess.Popen(FileName,shell=True) 
ss.communicate() 
相关问题