首頁  >  文章  >  後端開發  >  subprocess模組的詳細介紹

subprocess模組的詳細介紹

高洛峰
高洛峰原創
2017-03-15 15:39:561855瀏覽

os.system():輸出結果到螢幕上,回傳輸出指令的狀態,結果為0表示輸出正確

 subprocess模組的詳細介紹

 

os.popen()儲存輸出的結果

 subprocess模組的詳細介紹

 

import subprocess #這個模組是為了取代一些舊的模組,例如os. system等,通常在linux下比較好用一些

 

subprocess.call()

subprocess模組的詳細介紹

 

subprocess模組的詳細介紹

上面的範例說明,如果不涉及管道,直接用列表的形式就可以完成,否則得加上shell=True參數

subprocess.check_call():#檢查回傳狀態

subprocess模組的詳細介紹

subprocess.getstatusoutput()#傳回狀態與結果

#subprocess三種狀態。 stdout,stdin,stderr

>>>res=subprocess.Popen("ifconfig|grep192",shell=True,stdout=subprocess.PIPE,stderr=subprocess. PIPE,stdin=subprocess.PIPE)

##>>> res.stdout.read()

'inet addr:192.168.1.210 Bcast:192.168.1.255 Mask:255.255. \n'

針對上面的指令,要讀出結果,就得用res.stdout.read()格式

也可以唸出錯誤

res.poll ()可以回到狀態,0表示指令執行正確

 

subprocess模組的詳細介紹

res.terminate()可以殺死res進程

下面的句子中,可以加入cwd :用於設定子程序的目前目錄,env用於設定子程序的環境

變數

#>>>res=subprocess.Popen("sleep6;

echo 'hello'",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,stdin=subprocess.PIPE,cwd=”/tmp”)

 

以上是subprocess模組的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn