1. 程式人生 > >python執行linux命令並返回執行結果

python執行linux命令並返回執行結果

需要得到命令執行的狀態則需要判斷$?的值, 在Python中有一個模組commands也很容易做到以上的效果 看一下三個函式: 1). commands.getstatusoutput(cmd)   # 此函式也可以執行編譯好的檔案,cmd='./a.out' 用os.popen()執行命令cmd, 然後返回兩個元素的元組(status, result),其中 status為int型別,result為string型別。cmd執行的方式是{ cmd ; } 2>&1, 這樣返回結果裡面就會包含標準輸出和標準錯誤. 2). commands.getoutput(cmd) 只返回執行的結果, 忽略返回值. 3). commands.getstatus(file) #現已被棄用 返回ls -ld file執行的結果.

使用示例:

>>> import commands

>>> commands.getstatusoutput('ls /bin/ls')      # 執行成功狀態碼返回0

(0, '/bin/ls')

>>> commands.getstatusoutput('cat /mm/test')  # 執行失敗狀態碼返回256

(256, 'cat: /mm/test: No such file or directory')

>>> commands.getstatus('/bin/ls')    #該函式已被python丟棄,不建議使用,它返回 ls -ld file 的結果(String)

'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'