python執行linux命令並返回執行結果
阿新 • • 發佈:2018-12-15
需要得到命令執行的狀態則需要判斷$?的值, 在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'