Python包subprocess測試結果

Python 包subprocess測試

subprocess模塊記錄

在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章