python中執(zhí)行shell命令的幾個方法小結(jié)
更新時間:2014年09月18日 10:58:31 投稿:junjie
這篇文章主要介紹了python中執(zhí)行shell命令的幾個方法,本文一共給出3種方法實現(xiàn)執(zhí)行shell命令,需要的朋友可以參考下
最近有個需求就是頁面上執(zhí)行shell命令,第一想到的就是os.system,
復制代碼 代碼如下:
os.system('cat /proc/cpuinfo')
但是發(fā)現(xiàn)頁面上打印的命令執(zhí)行結(jié)果 0或者1,當然不滿足需求了。
嘗試第二種方案 os.popen()
復制代碼 代碼如下:
output = os.popen('cat /proc/cpuinfo')
print output.read()
通過 os.popen() 返回的是 file read 的對象,對其進行讀取 read() 的操作可以看到執(zhí)行的輸出。但是無法讀取程序執(zhí)行的返回值)
嘗試第三種方案 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,非常好用。
復制代碼 代碼如下:
(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output
Python Document 中給的一個例子,
復制代碼 代碼如下:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'
最后頁面上還可以根據(jù)返回值來顯示命令執(zhí)行結(jié)果。
您可能感興趣的文章:
- 監(jiān)控MySQL主從狀態(tài)的shell腳本
- shell腳本使用兩個橫杠接收外部參數(shù)的方法
- 使用Shell腳本如何啟動/停止Java的jar程序
- Shell中使用grep、sed正則提取和替換字符串
- Shell eval通過變量獲取環(huán)境變量的方法實現(xiàn)
- shell腳本實戰(zhàn)-while循環(huán)語句
- shell腳本--sed的用法詳解
- linux shell中 if else以及大于、小于、等于邏輯表達式介紹
- Linux中執(zhí)行shell腳本的4種方法總結(jié)
- 一個不錯的shell 腳本教程 入門級
- Shell字符串比較相等、不相等方法小結(jié)
- 分享一個可以通過命令簡寫執(zhí)行對應命令的Shell腳本
相關文章
Python基于list的append和pop方法實現(xiàn)堆棧與隊列功能示例
這篇文章主要介紹了Python基于list的append和pop方法實現(xiàn)堆棧與隊列功能,結(jié)合實例形式分析了Python使用list定義及使用隊列的相關操作技巧,需要的朋友可以參考下2017-07-07利用PyCharm操作Github(倉庫新建、更新,代碼回滾)
這篇文章主要介紹了利用PyCharm操作Github(倉庫新建、更新,代碼回滾),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12基于python+selenium自動健康打卡的實現(xiàn)代碼
這篇文章主要介紹了基于python+selenium自動健康打卡,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01