溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python調用系統(tǒng)命令的方法有哪些

發(fā)布時間:2020-06-03 13:50:21 來源:億速云 閱讀:399 作者:Leah 欄目:系統(tǒng)運維

本文以用Python為例,為大家分析Python調用系統(tǒng)命令的方法以及這些方式是怎么實現的。閱讀完整文相信大家對Python調用系統(tǒng)命令的方法有了一定的認識。

在Python中調用系統(tǒng)命令一般使用os或者subprocess模塊,下面介紹Python中最常用的6種調用系統(tǒng)命令的方法。
1、os.system()
該函數返回命令執(zhí)行結果的返回值,system()函數在執(zhí)行過程中進行了以下三步操作:
1、fork一個子進程;
2、在子進程中調用exec函數去執(zhí)行命令;
3、在父進程中調用wait(阻塞)去等待子進程結束。
返回0表示命令執(zhí)行成功,其他表示失敗。
用法:
os.system("command")
2、os.popen()
這種調用方式是通過管道的方式來實現,函數返回是 file read 的對象,對其進行讀取read、readlines等操作可以看到執(zhí)行的輸出。
用法:
os.popen("command")
3、subprocess.Popen()
subprocess模塊被推薦用來替換一些老的模塊和函數,如:os.system、os.spawn、os.popen
subprocess模塊目的是fork一個新的進程并與之通信,最常用是定義類Popen,使用Popen可以創(chuàng)建進程,并與進程進行復雜的交互。
用法:
child = subprocess.Popen(["cmd","arg1"...])
4、subprocess.call()
執(zhí)行指定的命令,返回命令執(zhí)行狀態(tài),其功能類似于os.system(cmd)。
用法:
subprocess.call("command")
5、subprocess.run()
Python 3.5中新增的函數,執(zhí)行指定的命令,等待命令執(zhí)行完成后返回一個包含執(zhí)行結果的CompletedProcess類的實例。
用法:
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False, universal_newlines=False)
6、subprocess.getstatusoutput()
執(zhí)行cmd命令,返回一個元組(命令執(zhí)行狀態(tài),命令執(zhí)行結果輸出),其功能類似于commands.getstatusoutput()。
用法:
subprocess.getstatusoutput("command")

以上就是Python調用系統(tǒng)命令的六種方法,詳細使用情況還需要大家自己親自動手使用過才能領會。如果想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI