2013-03-01 122 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() 
相關問題