python中調用shell的兩種方式
在python腳本中,有時候需要調用shell擷取一下資訊,下面介紹兩種常用的調用方法。
第一種,os.system()
這個函數擷取的是指令的執行狀态,比如
>>> import os
>>> a = os.system('echo 123')
123
>>> print a
0
>>>
變量a的值是“echo 123”這個指令的執行狀态,成功或者失敗,不是這個指令的輸出。
第二種,os.popen()
這個函數擷取的是指令的輸出,比如
>>> import os
>>> a = os.popen('echo 123')
>>> print a
<open file 'echo 123', mode 'r' at 0x7fb6e28eeed0>
>>> a = os.popen('echo 123').read()
>>> print a
123
>>>
變量a的值是“echo 123”這個指令的輸出。
注意:上面的第一次print a的結果是不對的,原因為此時a的值是一個記憶體位置,不是真正的值,需要使用read()來讀取記憶體中的内容,是以在第二次print的時候,加了read,才是真正想要的結果。
原創作者:鄭立賽
郵箱:[email protected]
歡迎關注我們的公衆号擷取最新文章:運維自動化開發
