subprocess 入門demo
1.原理
subprocess:中文意思是子程序。通過popen建立子程序,通過為PIPE主程序和子程序提供資料交換。
PIPE管道:介紹
https://blog.csdn.net/skyroben/article/details/71513385
2.popen引數介紹
args:子程序執行的命令,必須要是string型別的。
stdout,stderr,stdin,標準的資料傳輸。一般是將PIPE賦值給這三個引數。
datastdout,datastderr = communicate()返回子程序的標準輸出,標準錯誤輸出,阻塞主程序,直到子程序執行完成。
3.呼叫cmd 執行 ping www.baidu.com命令
import subpocess
cmd = “ping www.baidu.com”"
ret = subprocess.popen(cmd,stdout =subprocess.PIPE )
實際應用中經常會發現阻塞。(阻塞表現什麼樣的呢?阻塞什麼?)
stdoutdata = ret.communicate()[0]
實際上返回結果為b"xxxxxxx",因為返回結果為一個byte,decode()轉換一下就可以了。
rsult = stdoutdata.decode("utf-8)
將返回結果由list轉換為str型別
print(result).