詳解python執行shell指令的三種方法

高洛峰
發布: 2018-05-12 16:09:48
原創
2228 人瀏覽過

最近有個需求就是頁面上執行shell指令,

第一種就是os.system,

程式碼如下:

os.system('cat /proc/cpuinfo')
登入後複製

但是發現頁面上列印的指令執行結果0或1,當然不滿足需求了。

嘗試第二種方案os.popen()

程式碼如下:

output = os.popen('cat /proc/cpuinfo')
print output.read()
登入後複製

透過os.popen() 傳回的是file read 的對象,對其進行讀取read() 的操作可以看到執行的輸出。但是無法讀取程式執行的回傳值)

嘗試第三種方案 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'
登入後複製


#

以上是詳解python執行shell指令的三種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板