您好,登錄后才能下訂單哦!
Python中subprocess模塊的使用方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
subprocess模塊打算來替代幾個過時的模塊和函數,如: os.system, os.spawn*, os.popen*, popen2.*命令。
讓我們來看一下subprocess 有哪些不同的函數:
執行由參數提供的命令.
我們可以用數組作為參數運行命令,也可以用字符串作為參數運行命令(通過設置參數shell=True)
注意,參數shell默認為False
我們用subprocess.call()來做一個統計磁盤的例子:
subprocess.call(['df', '-h'])
下面的例子把shell設置為True:
subprocess.call('du -hs $HOME', shell=True)
注意,python官方文檔里對參數shell=True陳述了一個警告:
現在,我們來看看輸入與輸出
subprocess.Popen() subprocess 模塊中基本的進程創建和管理由Popen 類來處理. subprocess.popen是用來替代os.popen的.
我們來做一些真實的例子,subprocess.Popen需要一個數組作為參數:
注意,雖然你可以使用 "shell=True",但并不推薦這樣的方式.
如果你知道你只用幾個有限的函數,比如Popen和PIPE,你可以單單指定這幾個函數:
Popen.communicate() communicate()函數返回一個tuple(標準輸出和錯誤). Popen.communicate() 和進程溝通:發送數據到標準輸入.從標準輸出和錯誤讀取數據直到遇到結束符.等待進程結束. 輸入參數應該是一個字符串,以傳遞給子進程,如果沒有數據的話應該是None.
基本上,當你用 communicate()函數的時候意味著你要執行命令了。
感謝各位的閱讀!看完上述內容,你們對Python中subprocess模塊的使用方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。