2015-11-14 94 views
0

我正在嘗試寫入子程序的命令行。該應用程序在.exe文件中,並且在運行時不支持參數我試過了。如何在Python中寫入子進程的控制檯?

import subprocess 
p = subprocess.Popen("c:\users\user\downloads\Application") 
p.communicate("000") 
p.communicate("#\n") 

如何輸入到命令行?

回答

0

結帳的Popen.commuincate()文檔https://docs.python.org/2/library/subprocess.html#subprocess.Popen.communicate

它明確指出,你需要創建一個標準輸入POPEN對象=管道將數據發送到該進程的標準輸入。

所以

from subprocess import Popen, PIPE 
p = Popen("c:\users\user\downloads\Application", stdin=PIPE) 
p.communicate("000") 
p.communicate("#\n") 
+0

它拋出一個錯誤: 「NameError:名字PIPE沒有定義」 在第2行 – user1461837

+1

@ user1461837我現在已經更新了答案。請檢查。 – Deva

+0

如何從文件中獲得stdout的輸出?我嘗試添加stdout = PIPE參數無濟於事。 – user1461837