python获取命令行输出结果

时间:2021-11-30 08:08:22

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()
	return 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]+)"
	MAC = 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
MAC=00-1B-77-CD-62-2B, IP=192.168.1.110

E:\Program\Python>