奇忠诚 发表于 2018-8-15 13:32:54

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]
查看完整版本: Python收集centos7IP地址