亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2020年09月23日 10:57:58   作者:諸子流  
這篇文章主要介紹了Python如何執(zhí)行系統(tǒng)命令,幫助大家更好的利用python操作系統(tǒng),感興趣的朋友可以了解下

一、背景說明

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

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

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

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

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

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

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

使用示例如下:

import os

command = "ifconfig"
exit_code = os.system(command)
# 理論上command是一個字符串,但實際看command還是得變?yōu)樽止?jié)數(shù)組
# 當(dāng)命令中存在中文時可能會報編碼錯誤,此時可以自己給命令編一下碼
# 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()是不能實現(xiàn)的,此時可以使用os.popen()來實現(xiàn)。使用示例如下:

import os

command = "ifconfig"
command_output = os.popen(command).readlines()
print(command_output)

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

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

import subprocess

command = "ifconfig"
# 命令如果帶參數(shù)則不能直接使用字符串的形式,不然后報FileNotFoundError: [Errno 2] No such file or directory: 'ifconfig -a'等錯誤
# 此時有兩種處理辦法,一種是寫成以空格為分割的列表形式??山柚鷖hlex.split(command_line)實現(xiàn)自動分割
# command = ["ifconfig", "-a"]
# 別一種是將shell參數(shù)置為True
# completed_process_obj = subprocess.run(command, shell=True)
# 當(dāng)配置了stdout參數(shù),completed_process_obj的stdout屬性就會保存命令的輸出
completed_process_obj = subprocess.run(command, stdout=subprocess.PIPE)
print(completed_process_obj.stdout.decode())
# subprocess.Popen()基礎(chǔ)參數(shù)和run()差不多,比run()對命令進(jìn)程有更強(qiáng)的控制能力。其也能用來獲取命令輸出
# 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)命令的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python 堆疊柱狀圖繪制方法

    Python 堆疊柱狀圖繪制方法

    這篇文章主要介紹了Python 堆疊柱狀圖繪制方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 常見的在Python中實現(xiàn)單例模式的三種方法

    常見的在Python中實現(xiàn)單例模式的三種方法

    這篇文章主要介紹了常見的在Python中實現(xiàn)單例模式的三種方法,單例模式在各個編程語言的學(xué)習(xí)中都是需要掌握的基礎(chǔ)知識,需要的朋友可以參考下
    2015-04-04
  • Pandas中批量替換字符的六種方法總結(jié)

    Pandas中批量替換字符的六種方法總結(jié)

    這篇文章主要為大家介紹了Pandas中實現(xiàn)批量替換字符的六種方法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下
    2022-03-03
  • 為python爬蟲docker鏡像添加nodejs環(huán)境實現(xiàn)方法

    為python爬蟲docker鏡像添加nodejs環(huán)境實現(xiàn)方法

    這篇文章主要為大家介紹了為python爬蟲docker鏡像添加nodejs環(huán)境實現(xiàn)方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Django 跨域請求處理的示例代碼

    Django 跨域請求處理的示例代碼

    本篇文章主要介紹了Django 跨域請求處理的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 對python3 urllib包與http包的使用詳解

    對python3 urllib包與http包的使用詳解

    今天小編就為大家分享一篇對python3 urllib包與http包的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • django API 中接口的互相調(diào)用實例

    django API 中接口的互相調(diào)用實例

    這篇文章主要介紹了django API 中接口的互相調(diào)用實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python數(shù)據(jù)結(jié)構(gòu)leetcode338比特位計數(shù)算法

    python數(shù)據(jù)結(jié)構(gòu)leetcode338比特位計數(shù)算法

    這篇文章主要介紹了力扣刷題中python數(shù)據(jù)結(jié)構(gòu)leetcode338比特位計數(shù)算法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • python+elasticsearch實現(xiàn)標(biāo)簽匹配計數(shù)操作

    python+elasticsearch實現(xiàn)標(biāo)簽匹配計數(shù)操作

    這篇文章主要介紹了python+elasticsearch實現(xiàn)標(biāo)簽匹配計數(shù)操作,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • Python實現(xiàn)柵欄密碼的加密解密方法詳解

    Python實現(xiàn)柵欄密碼的加密解密方法詳解

    這篇文章主要介紹了Python實現(xiàn)柵欄密碼的加密解密方法,所謂柵欄密碼,就是把要加密的明文分成N個一組,然后把每組的第1個字連起來,形成一段無規(guī)律的話。不過柵欄密碼本身有一個潛規(guī)則,就是組成柵欄的字母一般不會太多
    2023-01-01

最新評論