使用Python執行系統命令方法
Python是一款操作簡單的編程語言,內置豐富的庫,能夠很容易的實現強大的功能,在使用Python進行框架搭建時,往往需要用到Python執行系統命令,一些開發人員對此不熟悉,以下是具體的操作方法:
1.os.system()
這個方法直接調用標準C的system()函數,僅僅在一個子終端運行系統命令,而不能獲取執行返回的信息。
>>>importos
>>>output=os.system('cat/proc/cpuinfo')
processor:0
vendor_id:AuthenticAMD
cpufamily:21
......
>>>output#doesn'tcaptureoutput
0
2.os.popen()
這個方法執行命令并返回執行后的信息對象,是通過一個管道文件將結果返回。
>>>output=os.popen('cat/proc/cpuinfo')
>>>output
>>>printoutput.read()
processor:0
vendor_id:AuthenticAMD
cpufamily:21
......
>>>
3.commands模塊
>>>importcommands
>>>(status,output)=commands.getstatusoutput('cat/proc/cpuinfo')
>>>printoutput
processor:0
vendor_id:AuthenticAMD
cpufamily:21
......
>>>printstatus
0
注意1:在類unix的系統下使用此方法返回的返回值(status)與腳本或命令執行之后的返回值不等,這是因為調用了os.wait()的緣故,具體原因就得去了解下系統wait()的實現了。需要正確的返回值(status),只需要對返回值進行右移8位操作就可以了。
注意2:當執行命令的參數或者返回中包含了中文文字,那么建議使用subprocess。
4.subprocess模塊
該模塊是一個功能強大的子進程管理模塊,是替換os.system,os.spawn*等方法的一個模塊。
>>>importsubprocess
>>>subprocess.Popen(["ls","-l"])#python2.xdoesn'tcaptureoutput
>>>subprocess.run(["ls","-l"])#python3.xdoesn'tcaptureoutput
>>>total68
drwxrwxr-x3xlxl4096Feb805:00com
drwxr-xr-x2xlxl4096Jan2102:58Desktop
drwxr-xr-x2xlxl4096Jan2102:58Documents
drwxr-xr-x2xlxl4096Jan2107:44Downloads
......
>>>

相關推薦HOT
更多>>
如何使用Pandas處理Excel?
如何使用Pandas處理Excel?做過行政或者人事,或者對此有過了解的小伙伴,一定對下發各個部分的表有著非常深刻的印象,最常見的就是需要我們將一...詳情>>
2023-11-14 07:43:15
python中np.insert()函數的使用方法
python中np.insert()函數的使用方法在numpy數組操作中,np.append()方法可以在每行每列的最后添加數據,但其位置是規定的,那如果想要指定添加...詳情>>
2023-11-14 05:06:13
SVM在python中的原理如何理解?
SVM在python中的原理如何理解?在python中除了編程化的知識點外,對于數學方法的算法也有所涉及,SVM就是一種很好地體現。我們學習過數學中的坐...詳情>>
2023-11-14 04:30:04
python處理絕對路徑和相對路徑函數有哪些?
python處理絕對路徑和相對路徑函數有哪些?絕對路徑和相對路徑是什么?絕對路徑:從根文件夾開始,Windows系統以盤符(C:)作為根文件夾,OSX或Lin...詳情>>
2023-11-14 03:33:02熱門推薦
如何使用python any()判斷多元素?
沸如何使用Pandas處理Excel?
熱python函數中的參數有哪些?
熱python中pygal模塊如何使用?
新Python的excel處理操作
python中doctest庫是什么?
python中series是什么意思
python中np.insert()函數的使用方法
SVM在python中的原理如何理解?
Python描述符中有哪三種方法?
python處理絕對路徑和相對路徑函數有哪些?
python單繼承和多繼承如何定義?
python封裝中的私有如何理解?
python模塊引入的三種方式
技術干貨






