python之subprocess模塊

1.subprocess用來生成子進程,並可通過管道連接輸入、輸出、錯誤,並獲得其返回值,subprocess提供了一些管理標準流(standard stream)和管道(PIPE)的工具,供進程間使用文本通信

 

2.subprocess常用函數:run、call、check_call、check_putput、getoutput、getstatusoutput

run:

 

subprocess.run[args[,stdout...]]:執行args命令,返回CompletedProcess
增加參數stdout,返回CompletedProcess(args,returncode,stdout)
不加參數stdout,返回CompletedProcess(args,returncode)
獲取輸出結果:
results = subprocess.run(args,stdout=subprocess.PIPE).stdout

stdout\stdin\stderr:標準輸出\標準輸入\錯誤信息

call:

subprocess.call[arg[,stdout..]]:執行arg命令,返回執行結果狀態碼,執行成功返回0,反之返回1

check_call:


subprocess.check_call[arg[,stdout..]]:執行arg命令,返回執行結果狀態碼,執行成功返回0,反之拋出異常

check_output: 

subprocess.check_output[arg[,stdout..]]:執行arg命令,執行成功返回執行結果,反之拋出異常

getoutput:

subprocess.getoutput(cmd):執行cmd命令,返回輸出結果,失敗不會拋出異常

getstatusoutput:

subprocess.getstatusoutput(cmd):執行cmd命令,返回元組類型輸出結果,執行陳工狀態爲0,反之爲1

3.subprocess.Popen類

g = subprocess.Popen("ping www.baidu.com", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
g.poll() # 檢查命令是否結束,未結束返回None
g.wait() # 等待命令完成,並返回結果狀態
g.terminate() # 停止進程
g.kill() # 殺掉進程
g.communicate() # 會阻塞父進程,直到子進程完成
g.pid # 獲取進程號

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章