我很努力地在python中使用子進程。這是我的任務:在子進程中使用python Popen
- 開始通過命令行的API(這應該是不低於運行在命令行上任何參數不同)
- 驗證我的API已經上來了。做到這一點的最簡單方法是將標準輪詢出來。
- 針對API運行命令。
1:當我能夠運行一個新的命令 - 通過查詢驗證命令完成的標準輸出(API不支持日誌記錄)
什麼我迄今試圖將出現一個命令提示符我在這裏用Popen卡住了。據我所知,如果我使用 subprocess.call("put command here")
這個工程。我想嘗試使用類似的東西:
import subprocess
def run_command(command):
p = subprocess.Popen(command, shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
,我使用run_command("insert command here")
但什麼都不做。
相對於2.我想答案應該類似於此: Running shell command from Python and capturing the output, 但我不能讓1到工作,我還沒有嘗試過呢。
只需要補充一點,AFAICT,子流程模塊真正適用於以初始輸入運行然後完成的任務(如調用函數)。如果您需要持續來回(例如,用於交互式終端實用程序),那麼Pexpect絕對是您的首選。 – TimStaley