Python包subprocess測試結果

2021-09-13 23:49:23 字數 678 閱讀 9879

在python3 中官方建議使用subprocess代替舊的os 和 command 包。

之前一直在用subprocess.popen 來執行shell命令,但這個命令很複雜。

這次在複習的過程中,看到說subprocess 中的call/check_call/getstatusoutput等方法是對popen的封裝。

實際測試比popen方便很多。

這是在python 3.6.5 的測試結果

命令返回結果

是否丟擲異常

是否有shell引數

建議run

completedprocess否是

否call狀態否

是是check_call狀態是

是是getstatusoutput

(狀態, 結果)否否

是getoutput結果否

否否check_output

b』結果』是是

否上述返回結果只有狀態,則表示shell執行的內容直接列印輸出到螢幕中,不會以返回值的形式傳遞。

python 3.7 中對 run 做了優化,官方建議:you can now use run() in many cases, but lots of existing code calls these functions

本測試結果不適用python 3.7

Python常用模組之五 subprocess

python引入subprocess模組來管理子程序,以取代一些舊模組的方法 如 os.system os.spawn os.popen popen2.commands.不但可以呼叫外部的命令作為子程序,而且可以連線到子程序的input output error管道,獲取相關的返回資訊。subpro...

python的包 python的包

1.把解決一類問題的模組放在同乙個資料夾裡,這個資料夾就是包 2.通過import或是from.import匯入時必須遵循乙個原則 a 凡是在匯入時帶點的,點的左邊都必須是乙個包,否則非法 b 匯入後,使用時點的左邊可以是包,模組,類,函式 它們都可以用點的方式調節用自己的屬性 c from.imp...

python 閉包 python 閉包

閉包 因為python中函式也可以當作物件,所以如果出現當我們返回乙個函式,而該函式含有外部變數的時候就形成了閉包。閉包的特點 是個巢狀函式 可以獲得非區域性的變數 將函式當作物件返回 看乙個例子會更易理解 def make printer msg msg hi there def printer ...