Python3 執(zhí)行系統(tǒng)命令并獲取實時回顯功能
下面先給大家介紹下Python3 執(zhí)行系統(tǒng)命令并獲取實時回顯
最近在改造一些打包的邏輯,原來在 Windows 下是基于批處理制作的,由于批處理用起來不是很方便,一些實時的計算基本無法勝任,所以轉(zhuǎn)向 Python3。但在以前腳本的基礎(chǔ)上很多是需要調(diào)用系統(tǒng)命令的比如 VS 編譯一個項目,我們需要獲取實時的回顯知道編譯的結(jié)果和進度。所以就有了以下方法:
@staticmethod
def __external_cmd(cmd, code="utf8"):
print(cmd)
process = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while process.poll() is None:
line = process.stdout.readline()
line = line.strip()
if line:
print(line.decode(code, 'ignore'))
在使用時直接調(diào)用 __external_cmd 方法,傳入你要執(zhí)行的系統(tǒng)命令,根據(jù)回顯內(nèi)容設置以下編碼就可以了。這樣用起來還是比較方便的。
ps:下面看下Python執(zhí)行系統(tǒng)命令并獲得輸出的幾種方法
方法一:
import os
p = os.popen('uptime')
x=p.read()
print x
方法二:
import subprocess
res = subprocess.Popen('uptime',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,close_fds=True)
result = res.stdout.readlines()
總結(jié)
以上所述是小編給大家介紹的Python3 執(zhí)行系統(tǒng)命令并獲取實時回顯功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
python 限制函數(shù)調(diào)用次數(shù)的實例講解
下面小編就為大家分享一篇python 限制函數(shù)調(diào)用次數(shù)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
趣味Python實戰(zhàn)練習之自動更換桌面壁紙腳本附源碼
讀萬卷書不如行萬里路,學的扎不扎實要通過實戰(zhàn)才能看出來,本篇文章手把手帶你編寫一個自動更換桌面壁紙的腳本,代碼簡潔而且短,相信你一定看得懂,大家可以在過程中查缺補漏,看看自己掌握程度怎么樣2021-10-10
Python中2種常用數(shù)據(jù)可視化庫Bokeh和Altair使用示例詳解
本文對Python中兩個常用的數(shù)據(jù)可視化庫?Bokeh?和?Altair?進行了比較和探討,通過對它們的特點、優(yōu)缺點以及使用示例的詳細分析,讀者可以更好地了解這兩個庫的功能和適用場景,從而更好地選擇合適的庫來進行數(shù)據(jù)可視化工作,感興趣的朋友跟隨小編一起看看吧2024-04-04
Django 解決distinct無法去除重復數(shù)據(jù)的問題
這篇文章主要介紹了Django 解決distinct無法去除重復數(shù)據(jù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05

