av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Python如何執行系統命令

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

一、背景說明

以前就感覺進步的速度和博客的數量成正比,所以很長一段時間內想不通為什么很多博客為什么到最后很少甚至不在更新了,直到最近自己也快成為斷更的一員。

這段時間其實碰到和解決了挺多典型的問題,但上班高負荷運轉下班沒心思周末覺得太耗費時間,就導致一直拖著沒寫。

但Python執行系統命令這個問題,從學Python之初就一直在困擾,到最近又反復幾次在上邊遇到問題,實在是受不了。

二、Python執行系統命令的實現方式

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

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

os.system()是C語言system()函數的封裝,返回命令的退出狀態碼,命令執行結果輸出到標準輸出(stdout/窗口)。

使用示例如下:

import oscommand = 'ifconfig'exit_code = os.system(command)# 理論上command是一個字符串,但實際看command還是得變為字節數組# 當命令中存在中文時可能會報編碼錯誤,此時可以自己給命令編一下碼# exit_code = os.system(command.encode('gbk'))

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

2.2 執行系統命令并獲取命令輸出--os.popen()

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

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

2.3 Python3更好的實現方式--subprocess

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

import subprocesscommand = 'ifconfig'# 命令如果帶參數則不能直接使用字符串的形式,不然后報FileNotFoundError: [Errno 2] No such file or directory: ’ifconfig -a’等錯誤# 此時有兩種處理辦法,一種是寫成以空格為分割的列表形式。可借助shlex.split(command_line)實現自動分割# command = ['ifconfig', '-a']# 別一種是將shell參數置為True# completed_process_obj = subprocess.run(command, shell=True)# 當配置了stdout參數,completed_process_obj的stdout屬性就會保存命令的輸出completed_process_obj = subprocess.run(command, stdout=subprocess.PIPE)print(completed_process_obj.stdout.decode())# subprocess.Popen()基礎參數和run()差不多,比run()對命令進程有更強的控制能力。其也能用來獲取命令輸出# 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如何執行系統命令的詳細內容,更多關于Python執行系統命令的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 黄色网址免费在线观看 | 日韩视频免费看 | 羞羞视频网站免费看 | 国产高清在线 | 亚洲免费观看视频 | 91观看| 欧美午夜影院 | www亚洲成人 | 在线一区 | 国产精品美女久久久免费 | 九九伊人sl水蜜桃色推荐 | 免费av观看 | 亚洲精品在线免费 | 久久免费精品 | 国产不卡在线观看 | 久久国产精品-国产精品 | 国产做a爱免费视频 | 日韩av在线免费 | 成人精品一区 | 国产日韩欧美激情 | 一区中文 | 操操网站 | 国产免费a视频 | 国产精品欧美一区二区三区 | 免费看的黄网站 | 国产精品视频区 | 国产日韩久久 | 国产精品久久久久久婷婷天堂 | www.97zyz.com | 先锋av资源网 | 日韩在线精品视频 | 成人在线观看网站 | 精品在线一区 | 久久99深爱久久99精品 | 伊人狠狠| 国产电影一区二区在线观看 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 亚洲精品九九 | 激情的网站 | 国产亚洲一级 | www.887色视频免费 |