新聞中心
subprocess模塊打算來替代幾個(gè)過時(shí)的模塊和函數(shù),如: os.system, os.spawn*, os.popen*, popen2.*命令。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供千山網(wǎng)站建設(shè)、千山做網(wǎng)站、千山網(wǎng)站設(shè)計(jì)、千山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、千山企業(yè)網(wǎng)站模板建站服務(wù),10多年千山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
subprocess :
-
執(zhí)行由參數(shù)提供的命令.
-
我們可以用數(shù)組作為參數(shù)運(yùn)行命令,也可以用字符串作為參數(shù)運(yùn)行命令(通過設(shè)置參數(shù)shell=True)
-
注意,參數(shù)shell默認(rèn)為False
我們用subprocess.call()來做一個(gè)統(tǒng)計(jì)磁盤的例子:
subprocess.call(['df', '-h'])
下面的例子把shell設(shè)置為True:
subprocess.call('du -hs $HOME', shell=True)
注意,python官方文檔里對參數(shù)shell=True陳述了一個(gè)警告:
現(xiàn)在,我們來看看輸入與輸出
subprocess.Popen() subprocess 模塊中基本的進(jìn)程創(chuàng)建和管理由Popen 類來處理. subprocess.popen是用來替代os.popen的.
我們來做一些真實(shí)的例子,subprocess.Popen需要一個(gè)數(shù)組作為參數(shù):
注意,雖然你可以使用 "shell=True",但并不推薦這樣的方式.
如果你知道你只用幾個(gè)有限的函數(shù),比如Popen和PIPE,你可以單單指定這幾個(gè)函數(shù):
Popen.communicate() communicate()函數(shù)返回一個(gè)tuple(標(biāo)準(zhǔn)輸出和錯(cuò)誤). Popen.communicate() 和進(jìn)程溝通:發(fā)送數(shù)據(jù)到標(biāo)準(zhǔn)輸入.從標(biāo)準(zhǔn)輸出和錯(cuò)誤讀取數(shù)據(jù)直到遇到結(jié)束符.等待進(jìn)程結(jié)束. 輸入?yún)?shù)應(yīng)該是一個(gè)字符串,以傳遞給子進(jìn)程,如果沒有數(shù)據(jù)的話應(yīng)該是None.
基本上,當(dāng)你用 communicate()函數(shù)的時(shí)候意味著你要執(zhí)行命令了。
以上內(nèi)容大家可以消化了解下哦~如需了解更多python實(shí)用知識,點(diǎn)擊進(jìn)入PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
(推薦操作系統(tǒng):windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。)
網(wǎng)站題目:創(chuàng)新互聯(lián)Python教程:Pythonsubprocess模塊怎么用?
網(wǎng)站鏈接:http://m.fisionsoft.com.cn/article/dhccceo.html


咨詢
建站咨詢
