Python收集centos7IP地址
#!/usr/bin/env python# coding=utf-8
import re
from subprocess import Popen, PIPE
def getIfconfig():
p = Popen(['ifconfig'], stdout=PIPE)
data = p.stdout.read().decode().split('\n\n')
return
def parseIfconfig(data):
re_devname = re.compile(r'^(eth|em|lo|bond)[\d:]+', re.M)
re_mac = re.compile(r'ether ({17})', re.M)
re_ip = re.compile(r'inet ([\d\.]{7,15})', re.M)
devname = re_devname.search(data)
if devname:
devname = devname.group()
mac = re_mac.search(data)
if mac:
mac = mac.group(1)
else:
mac = ''
ip = re_ip.findall(data)
if ip:
ip = ip
else:
ip = ''
else:
return
return {devname: }
if __name__ == '__main__':
dic = {}
data = getIfconfig()
for i in data:
if parseIfconfig(i):
dic.update(parseIfconfig(i))
print(dic)
页:
[1]