Python實現獲取命令列輸出結果的方法

2022-10-04 21:09:25 字數 927 閱讀 1616

python獲取命令列輸出結果,並對結果進行過濾找到自己需要的!

這裡以獲取本機mac位址和ip位址為例!

# coding: gb2312

import os, re

# execute command, and return the output

def execcmd(cmd):

r = os.popen(cmd)

text = r.read()

r.close()

retu程式設計客棧rn text

# write "data" to file-filename

def writefile(filename, data):

f = open(filename, "w")

f.write(data)

f.close()

# 獲取計算機mac位址和ip位址

if __name__ == '__main__':

cmd = "ipconfig /all"

result = execcmd(cmd)

pat1 = "physical address[\. ]+: ([\w-]+)"

pat2 = "ip address[\. ]+: ([\.\d]+)"

macwww.cppcns.com = re.findall(pat1, result)[0] # 找到mac

ip = re.findall(pat2, result)[0] # 找到ip

print("mac=%s, ip=%s" %(mac, ip))

執行結果:

e:\program\python>del.py程式設計客棧

mawww.cppcns.comc=00-1bvugab-77-cd-62-2b, ip=192.168.1.110

e:\program\python>

python獲取實時命令列輸出

我們平時用os.system和subprocess執行命令並獲取返回值,但獲取返回值都是在命令完全執行完畢後,如果命令持續輸出不會結束,該如何獲取實時輸出呢?exer16.py import time def fun for i in range 6 print format i time.slee...

python入門 獲取命令列輸入

獲取命令列輸入 argv.py import sys for item in sys.argv print item 有兩種呼叫方式 python argv.py first second argv.py first second 輸出 argv.py first second 可以把 for迴圈的...

python實現命令列互動

最近因為工作需求在寫自動化測試指令碼,主要目的是測試 功能的完整性,然而在使用sshlibrary庫進行遠端ssh互動的時候總是出現問題,比如說遇到需要輸入密碼的互動,總是不能成功,還有遇到一直保持執行並實時輸出的命令,也無法讀取其中的輸出。所以就只能使用python實現指令碼進行互動,和ssh解耦...