亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python如何執(zhí)行系統(tǒng)命令

瀏覽:33日期:2022-07-10 11:36:06

一、背景說(shuō)明

以前就感覺(jué)進(jìn)步的速度和博客的數(shù)量成正比,所以很長(zhǎng)一段時(shí)間內(nèi)想不通為什么很多博客為什么到最后很少甚至不在更新了,直到最近自己也快成為斷更的一員。

這段時(shí)間其實(shí)碰到和解決了挺多典型的問(wèn)題,但上班高負(fù)荷運(yùn)轉(zhuǎn)下班沒(méi)心思周末覺(jué)得太耗費(fèi)時(shí)間,就導(dǎo)致一直拖著沒(méi)寫(xiě)。

但Python執(zhí)行系統(tǒng)命令這個(gè)問(wèn)題,從學(xué)Python之初就一直在困擾,到最近又反復(fù)幾次在上邊遇到問(wèn)題,實(shí)在是受不了。

二、Python執(zhí)行系統(tǒng)命令的實(shí)現(xiàn)方式

2.1 執(zhí)行命令不需要獲取命令輸出--os.system

有時(shí)候我們只需要執(zhí)行命令并不需要獲取命令的執(zhí)行輸出,此時(shí)我們就可以使用os.system()實(shí)現(xiàn)。

os.system()是C語(yǔ)言system()函數(shù)的封裝,返回命令的退出狀態(tài)碼,命令執(zhí)行結(jié)果輸出到標(biāo)準(zhǔn)輸出(stdout/窗口)。

使用示例如下:

import oscommand = 'ifconfig'exit_code = os.system(command)# 理論上command是一個(gè)字符串,但實(shí)際看command還是得變?yōu)樽止?jié)數(shù)組# 當(dāng)命令中存在中文時(shí)可能會(huì)報(bào)編碼錯(cuò)誤,此時(shí)可以自己給命令編一下碼# exit_code = os.system(command.encode('gbk'))

參考:https://docs.python.org/3/library/os.html#os.system

2.2 執(zhí)行系統(tǒng)命令并獲取命令輸出--os.popen()

如果我們想要獲取命令的輸出os.system()是不能實(shí)現(xiàn)的,此時(shí)可以使用os.popen()來(lái)實(shí)現(xiàn)。使用示例如下:

import oscommand = 'ifconfig'command_output = os.popen(command).readlines()print(command_output)

2.3 Python3更好的實(shí)現(xiàn)方式--subprocess

Python3引入了封裝程序更高的subprocess模塊。使用示例如下:

import subprocesscommand = 'ifconfig'# 命令如果帶參數(shù)則不能直接使用字符串的形式,不然后報(bào)FileNotFoundError: [Errno 2] No such file or directory: ’ifconfig -a’等錯(cuò)誤# 此時(shí)有兩種處理辦法,一種是寫(xiě)成以空格為分割的列表形式。可借助shlex.split(command_line)實(shí)現(xiàn)自動(dòng)分割# command = ['ifconfig', '-a']# 別一種是將shell參數(shù)置為T(mén)rue# completed_process_obj = subprocess.run(command, shell=True)# 當(dāng)配置了stdout參數(shù),completed_process_obj的stdout屬性就會(huì)保存命令的輸出completed_process_obj = subprocess.run(command, stdout=subprocess.PIPE)print(completed_process_obj.stdout.decode())# subprocess.Popen()基礎(chǔ)參數(shù)和run()差不多,比run()對(duì)命令進(jìn)程有更強(qiáng)的控制能力。其也能用來(lái)獲取命令輸出# popen_obj = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)# print(popen_obj.stdout.readlines())# 其他如subprocess.call()、subprocess.check_call()、subprocess.check_output()都是舊方法了,Python3.5+都建議用run()

參考:https://docs.python.org/3/library/os.html#os.popen

以上就是Python如何執(zhí)行系統(tǒng)命令的詳細(xì)內(nèi)容,更多關(guān)于Python執(zhí)行系統(tǒng)命令的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: bt7086 福利二区 最新合集 | 最新国产成人盗摄精品视频 | 国产免费高清mv视频在线观看 | 国产日韩一区二区三区在线观看 | 1024在线视频 | 立即播放免费毛片一级 | 国产成人精品区在线观看 | 国产自线一二三四2021 | 一本之道无吗一二三区 | 六月婷婷精品视频在线观看 | 亚洲国产成人久久一区二区三区 | 8888四色奇米在线观看不卡 | 中文字幕1区 | 国产一级久久免费特黄 | 中文字幕在线播放 | 免费观看在线永久免费xx视频 | 欧美日韩一本大道香蕉欧美 | 日韩在线不卡 | 手机看片日韩日韩韩 | 色综合色综合色综合色综合 | 6080亚洲| 三级网址在线播放 | 香蕉视频三级 | 888xxxx免费视频| 国产片91人成在线观看 | 中文字幕亚洲无线码高清 | 亚a在线| 欧美一级在线全免费 | 91国视频在线观看 | 伊人婷婷色香五月综合缴缴情 | 久久99精品麻豆国产 | 欧美啊片 | 国产制服 国产制服一区二区 | 五月婷婷六月丁香综合 | 亚洲欧洲日产国码天堂 | 婷婷91 | 久热中文字幕在线观看 | 黄色免费高清视频 | 国产素人在线观看 | 成人性视屏| 国产亚洲精品日韩综合网 |