我有一個簡單的Windows可執行文件,要求用戶輸入,我試圖做一個Python腳本來自動輸入。 我做了什麼:Popen和stdin自動化輸入到.exe
from subprocess import Popen, PIPE
p = Popen([r'myprgm.exe'], stdin=PIPE)
p.communicate(input=bytes(input("Test Input"), 'UTF-8'))
現在,通常當程序運行時,它輸出到命令提示符「給我輸入:」然後期望用戶輸入。
如果我使用Popen與stdin=PIPE
選項,則根本沒有任何內容寫入命令提示符 - 它只是空白處。
然後,當我使用通信時,「測試輸入」結束在python控制檯上,而不是進程。
是否有可能自動化這樣的事情?或者我在這裏丟失了一些根本......
你必須在調用'communic'之前給出輸入 – Nilesh 2014-09-19 03:57:07