學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦安全 > 系統(tǒng)安全 > Python怎么調(diào)用系統(tǒng)命令

Python怎么調(diào)用系統(tǒng)命令

時(shí)間: 黎正888 分享

Python怎么調(diào)用系統(tǒng)命令

  python語(yǔ)言的os模塊可以調(diào)用系統(tǒng)命令,這對(duì)于想在程序中調(diào)用操作系統(tǒng)命令的需求,是非常有用的。下面就讓學(xué)習(xí)啦小編教大家Python怎么調(diào)用系統(tǒng)命令吧。

  Python調(diào)用系統(tǒng)命令的方法

  os.system("The command you want"). 這個(gè)調(diào)用相當(dāng)直接,且是同步進(jìn)行的,程序需要阻塞并等待返回。返回值是依賴于系統(tǒng)的,直接返回系統(tǒng)的調(diào)用返回值,所以windows和linux是不一樣的

  os.popen(command[,mode[,bufsize]]),圖中是一個(gè)例子. 可以看出,popen方法通過(guò)p.read()獲取終端輸出,而且popen需要關(guān)閉close().當(dāng)執(zhí)行成功時(shí),close()不返回任何值,失敗時(shí),close()返回系統(tǒng)返回值. 可見它獲取返回值的方式和os.system不同。

  使用commands模塊,圖中是一組例子。根據(jù)你需要的不同,commands模塊有三個(gè)方法可供選擇。getstatusoutput, getoutput, getstatus。

  但是,如上三個(gè)方法都不是Python推薦的方法,而且在Python3中其中兩個(gè)已經(jīng)消失。Python文檔中目前全力推薦第四個(gè)方法,subprocess! subprocess使用起來(lái)同樣簡(jiǎn)單:

  直接調(diào)用命令,返回值即是系統(tǒng)返回。shell=True表示命令最終在shell中運(yùn)行。Python文檔中出于安全考慮,不建議使用shell=True。建議使用Python庫(kù)來(lái)代替shell命令,或使用pipe的一些功能做一些轉(zhuǎn)義。官方的出發(fā)點(diǎn)是好的,不過(guò)真心麻煩了很多, so.... 如果你更關(guān)注命令的終端輸出,可以如下圖這樣操作, 同樣很簡(jiǎn)單.


Python怎么調(diào)用系統(tǒng)命令相關(guān)文章:

1.python如何調(diào)用系統(tǒng)命令

2.Python怎么調(diào)用系統(tǒng)命令

3.C語(yǔ)言怎么調(diào)用系統(tǒng)命令行

4.Python怎么執(zhí)行系統(tǒng)命令

5.Python怎么運(yùn)行系統(tǒng)命令行

1868100