python如何呼叫subprocess模組實現外部命令?

ldzsl發表於2021-09-11

python如何呼叫subprocess模組實現外部命令?

當我們寫python指令碼的時候看,如果需要呼叫外部命令,有很多的模板可以使用,標準包裡面的os.popen,os.system,commands.getstatusoutput, 但是這些現在都是不推薦的了,現在標準包推薦使用的是subprocess模組,使用上一般會使用如下函式來進行封裝,這樣是比較好用的,那接下來就跟大家說實現方法吧~

直接給大家上實現程式碼演示:

def run(cmd):
 p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
 out, err = p.communicate()
 print ('cmd=[{}] out=[{}] err=[{}] returncode=[{}]'.format(cmd, out, err, p.returncode))
 if p.returncode != 0:
 raise Exception('cmd run error')
 return out

透過上述的實現程式碼演示,我們可以直接呼叫run函式來執行命令,得到命令的標準輸出,在返回碼非0的情況下,直接丟擲異常。好啦,大家都消化學習吧,更多學習內容,盡在

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2325/viewspace-2832035/,如需轉載,請註明出處,否則將追究法律責任。

相關文章