使用Python執(zhí)行系統(tǒng)命令方法
Python是一款操作簡單的編程語言,內(nèi)置豐富的庫,能夠很容易的實現(xiàn)強大的功能,在使用Python進行框架搭建時,往往需要用到Python執(zhí)行系統(tǒng)命令,一些開發(fā)人員對此不熟悉,以下是具體的操作方法:
1.os.system()
這個方法直接調(diào)用標準C的system()函數(shù),僅僅在一個子終端運行系統(tǒng)命令,而不能獲取執(zhí)行返回的信息。
>>>importos
>>>output=os.system('cat/proc/cpuinfo')
processor:0
vendor_id:AuthenticAMD
cpufamily:21
......
>>>output#doesn'tcaptureoutput
0
2.os.popen()
這個方法執(zhí)行命令并返回執(zhí)行后的信息對象,是通過一個管道文件將結(jié)果返回。
>>>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的系統(tǒng)下使用此方法返回的返回值(status)與腳本或命令執(zhí)行之后的返回值不等,這是因為調(diào)用了os.wait()的緣故,具體原因就得去了解下系統(tǒng)wait()的實現(xiàn)了。需要正確的返回值(status),只需要對返回值進行右移8位操作就可以了。
注意2:當執(zhí)行命令的參數(shù)或者返回中包含了中文文字,那么建議使用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
......
>>>

猜你喜歡LIKE
相關推薦HOT
更多>>
python中的filter函數(shù)功能是什么?
python中的filter函數(shù)功能是什么?在python中,面對眾多的數(shù)據(jù),我們要過濾篩選出我們需要的數(shù)據(jù)。python中的filter函數(shù)就是起到了過濾篩選的作...詳情>>
2023-11-10 20:37:27
pythontime模塊是什么
pythontime模塊是什么在python中使用時間,就免不了和time模塊打交道,另外兩個模塊這個暫時先不做介紹。做time模塊的使用上,我們可以用它來對...詳情>>
2023-11-10 15:53:16
python是什么編程語言
python是什么編程語言1、說明是一種面向?qū)ο蟆⒔忉屝陀嬎銠C程序設計語言,由GuidovanRossum于1989年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。Pyt...詳情>>
2023-11-10 15:21:05
python異常處理的兩種技巧
python異常處理的兩種技巧1、傳遞異常有時我們會在捕捉到一個異常后重新引發(fā)它(傳遞異常),實現(xiàn)起來很簡單,使用不帶參數(shù)的raise語句即可。deff...詳情>>
2023-11-10 14:49:39熱門推薦
python中的filter函數(shù)功能是什么?
沸python delattr函數(shù)如何使用?
熱python中pdb模塊怎么用?
熱Python如何截圖保存?
新python?中缺少module怎么辦?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python對象的三要素是什么
pythonGIL在Python多線程的應用
python如何對多個CSV文件進行讀取
pythonif嵌套命令如何理解?
python對列表進行永久性或臨時排序的方法
python生成器調(diào)用方法引發(fā)異常
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學習費用
了解課程價格 -
優(yōu)惠活動
領取優(yōu)惠券 -
學習資源
領3000G教程 -
師資團隊
了解師資團隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線