Python使用內置方法、模塊調用外部命令

導讀

Python使用內置方法、模塊調用外部命令

Python內置調用外部命令:

  • os.system
  • os.popen
  • os.popen2
  • os.popen3
  • os.popen4
  • commands模塊
  • subprocess模塊

在Python3中,將os.popen2、os.popen3、os.popen4、commands等模塊方法移除
所以不用花精力瞭解,可以繞過了

os.system方法

os.system("cmd") 調用外部命令,使用非常簡單

程序只能返回命令運行返回碼:0正常,1異常;但無法捕獲cmd進程執行結果

Python使用內置方法、模塊調用外部命令

優點:使用簡單,可以執行一句話cmd行
缺點:無法獲取cmd執行結果,不能進行交互式調用,以及複雜調用操作

os.popen、os.popen2、os.popen3、os.popen4方法

該popen函數族,通過管道與調用外部命令交互通訊

popen函數族調用方與被調用外部cmd進程之間建立一個通訊管道,通過管道實現與外部cmd進程交互通訊

  • os.popen: 只捕獲標準輸出,捕獲不到標準錯誤
  • os.popen2:返回2個對象,一個是標準輸入,一個是標準輸出
  • os.popen3:返回3個對象,標準輸入,標準輸出,標準錯誤輸出
  • os.popen4:返回2個對象,pip_in和pip_out_err,pip_in是標準輸入,而標準輸出和標準錯誤都在一個管道pip_out_err

os.popen示例一:

Python使用內置方法、模塊調用外部命令

os.popen示例二:

Python使用內置方法、模塊調用外部命令

os.popen2返回2個對象,一個是標準輸入,一個是標準輸出,示例:

Python使用內置方法、模塊調用外部命令

os.popen3返回3個對象,標準輸入,標準輸出,標準錯誤輸出

Python使用內置方法、模塊調用外部命令

commands模塊

commands是Python的內置模塊,可以調用Linux shell命令

該模塊主要提供三個函數:

  • commands.getoutput('cmd') 執行cmd命令,並返回執行結果
  • commands.getstatus('file') 輸入文件路徑,返回ls -ld file執行結果
  • commands.getstatusoutput('cmd') 執行cmd命令,返回一個結果元組(status, result),result包含標準輸出和標準錯誤

commands模塊使用示例:

Python使用內置方法、模塊調用外部命令

最後

如果內容有誤,歡迎評論區指正!

喜歡我的朋友們,麻煩點一波關注,謝謝!

Python使用內置方法、模塊調用外部命令


分享到:


相關文章: