Python執行系統命令的方法 os.system(),os.popen(),commands


最近在做那個測試框架的時候發現 Python 的另一個獲得系統執行命令的返回值和輸出的類。

1.最開始的時候用 Python 學會了 os.system() 。這個方法是擁塞的。

os.system('ping www.baidu.com')

2.通過 os.popen() 返回的是 file read 的對象,對其進行讀取 read() 的操作可以看到執行的輸出。這個方法是后台執行,不影響后續腳本運行。

output = os.popen('ping www.baidu.com')
print(output.read())

執行結果:

3.通過 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,給一個官方文檔的例子:

import commands
(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output

之所以給官方文檔例子,因為個人執行如下命令,發現無法運行。歡迎知道原因的網友給出解答。

import commands
(status, output) = commands.getstatusoutput('ping www.baidu.com')
print status
print output

打印結果如下:

  

commands還有另外兩個命令

commands.getoutput(cmd)

忽略了status,返回output(output是字符串格式)

commands.getstatus(file)

與上面相反,不多說了

 

關於commands的說明:

3.1 python3.0之后移除此命令,使用subprocess代替。

3.2 python3.x 使用subprocess創建一個新進程。

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM