Python怎么調(diào)用系統(tǒng)命令
Python怎么調(diào)用系統(tǒng)命令
python語言的os模塊可以調(diào)用系統(tǒng)命令,這對于想在程序中調(diào)用操作系統(tǒng)命令的需求,是非常有用的。下面就讓學(xué)習(xí)啦小編教大家Python怎么調(diào)用系統(tǒng)命令吧。
Python調(diào)用系統(tǒng)命令的方法
os.system("The command you want"). 這個調(diào)用相當(dāng)直接,且是同步進(jìn)行的,程序需要阻塞并等待返回。返回值是依賴于系統(tǒng)的,直接返回系統(tǒng)的調(diào)用返回值,所以windows和linux是不一樣的
os.popen(command[,mode[,bufsize]]),圖中是一個例子. 可以看出,popen方法通過p.read()獲取終端輸出,而且popen需要關(guān)閉close().當(dāng)執(zhí)行成功時,close()不返回任何值,失敗時,close()返回系統(tǒng)返回值. 可見它獲取返回值的方式和os.system不同。
使用commands模塊,圖中是一組例子。根據(jù)你需要的不同,commands模塊有三個方法可供選擇。getstatusoutput, getoutput, getstatus。
但是,如上三個方法都不是Python推薦的方法,而且在Python3中其中兩個已經(jīng)消失。Python文檔中目前全力推薦第四個方法,subprocess! subprocess使用起來同樣簡單:
直接調(diào)用命令,返回值即是系統(tǒng)返回。shell=True表示命令最終在shell中運行。Python文檔中出于安全考慮,不建議使用shell=True。建議使用Python庫來代替shell命令,或使用pipe的一些功能做一些轉(zhuǎn)義。官方的出發(fā)點是好的,不過真心麻煩了很多, so.... 如果你更關(guān)注命令的終端輸出,可以如下圖這樣操作, 同樣很簡單.
Python怎么調(diào)用系統(tǒng)命令相關(guān)文章: