我有一個程序,myshell.exe,我需要通過python(發送命令,並讀取結果)交互。有一個.exe運行在後臺,並通過蟒蛇輸入的東西到
美中不足的是,我只能運行myshell.exe
一次(不能封閉POPEN和環型通信)
我試圖popen
和popen.communicate()
但似乎運行myshell.exe
,送我的命令,然後退出的過程。
# settin up the command
p = Popen("myshell.exe", stdout=PIPE, stdin=PIPE, stderr=PIPE, shell=True)
# sending something (and getting output)
print p.communicate("run");
此時,從打印輸出I可以看到,我的myshell.exe
已退出(ⅰ具有被打印的再見消息)。
任何想法,如果有任何解決方法嗎? 謝謝。
好吧,只需將「Popen」部分留在循環之外:打開一次通信,根據需要進行多次交互。 – 2014-09-30 12:40:56