您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python怎么調用系統命令”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python怎么調用系統命令”文章能幫助大家解決問題。
這個方法是直接調用標準C的system() 函數,僅僅在一個子終端運行系統命令,而不能獲取命令執行后的返回信息。
os.system(cmd)的返回值。如果執行成功,那么會返回0,表示命令執行成功。否則,則是執行錯誤。
使用os.system返回值是腳本的退出狀態碼,該方法在調用完shell腳本后,返回一個16位的二進制數,低位為殺死所調用腳本的信號號碼,高位為腳本的退出狀態碼。
os.system()返回值為0 linux命令返回值也為0。
os.system()返回值為256,十六位二進制數示為:00000001,00000000,高八位轉成十進制為 1 對應 linux命令返回值 1。
os.system()返回值為512,十六位二進制數示為:00000010,00000000,高八位轉成十進制為 2 對應 linux命令返回值 2。
import os result = os.system('cat /etc/passwd') print(result) # 0
os.popen()方法不僅執行命令而且返回執行后的信息對象(常用于需要獲取執行命令后的返回信息),是通過一個管道文件將結果返回。通過 os.popen() 返回的是 file read 的對象,對其進行讀取 read() 的操作可以看到執行的輸出。
import os result = os.popen('cat /etc/passwd') print(result.read())
import commands status = commands.getstatus('cat /etc/passwd') print(status) output = commands.getoutput('cat /etc/passwd') print(output) (status, output) = commands.getstatusoutput('cat /etc/passwd') print(status, output)
Subprocess是一個功能強大的子進程管理模塊,是替換os.system,os.spawn* 等方法的一個模塊。
當執行命令的參數或者返回中包含了中文文字,那么建議使用subprocess。
import subprocess res = subprocess.Popen('cat /etc/passwd', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) # 使用管道 print res.stdout.read() # 標準輸出 for line in res.stdout.readlines(): print line res.stdout.close() # 關閉
關于“Python怎么調用系統命令”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。