2016-02-22 82 views
0

我試圖用winpexpect生成一個python進程,但是test = winpexpect.winspawn('python.exe')沒有這樣做。該命令本身不會引發錯誤,但當我嘗試test.expect('>>>')時,該過程將超時。無法使用winpexpect生成python shell

當我嘗試產生一個cmd.exe或某些其他進程時,未觀察到此行爲。

python過程可以使用winpexpect產生嗎?難道我做錯了什麼?

PS:Python的路徑添加到我的PATH環境變量

+0

您是否嘗試過傳遞'-i'命令行選項,強制交互模式?另外,最近的'pexpect'版本有部分Windows支持。考慮使用'multiprocessing','concurrent.futures'或類似的方式,而不是手動運行'python.exe'作爲子進程。 – jfs

+0

這有助於,謝謝!當在子進程中提示用戶輸入時,_InvalidOperationException:當任一應用程序沒有控制檯或控制檯輸入已從文件重定向時,無法讀取密鑰。嘗試Console.Read_錯誤。你有沒有機會知道爲什麼會發生這種情況? – Anil

回答

0

由於Sebastian曾建議,迫使過程中交互模式的幫助。

test = winpexpect.winspawn('python.exe -i')