subprocess
允許你去創建一個新的進程讓其執行另外的程序,並與它進行通信,獲取標準的輸入、標準輸出、標準錯誤以及返回碼等。
subprocess.Popen()
subprocess
模塊中基本的進程創建和管理由Popen
類來處理.subprocess.popen
是用來替代os.popen
的.
from subprocess import Popen, PIPE
p = Popen(['echo', 'hello world'], stdout=PIPE)
print(p.communicate()) # (b'hello world\n', None)
Popen.communicate()
communicate()
函數返回一個tuple
(標準輸出和錯誤).Popen.communicate()
和進程溝通:發送數據到標準輸入.從標準輸出和錯誤讀取數據直到遇到結束符.等待進程結束.
輸入參數應該是一個字符串,以傳遞給子進程,如果沒有數據的話應該是None
.
基本上,當你用 communicate()
函數的時候意味着你要執行命令了.