• python学习:使用正则收集ip信息


     
     
    使用正则表达式收集主机信息 
     
     
     
    #!/usr/bin/env python
     
    from subprocess import Popen, PIPE
    import re
    def getIfconfig():
        p = Popen(['ifconfig'], stdout=PIPE)
        data = p.stdout.read().split(' ')
        return [i for i in data if i and not i.startswith('lo')]
     
    def parseIfconfig(data):
        re_devname = re.compile(r'br|eth|em|virbr|lo|bond[d:]+',re.M)           使用了正则表达式来收集ip信息 
        re_mac = re.compile(r'HWaddr ([0-9A-F:]{17})', re.M)
        re_ip = re.compile(r'inet addr:([d.]{7,15})', re.M)
        devname = re_devname.search(data)
        if devname:
            devname = devname.group()
        else:
            devname = ''
        mac = re_mac.search(data)
        if mac:
            mac = mac.group(1)
        else:
            mac = ''
        ip = re_ip.search(data)
        if ip:
            ip = ip.group(1)
        else:
            ip = ''
        return {devname: [ip,mac]}
     
    if __name__ == '__main__':
        dic = {}
        data = getIfconfig()
        for i in data:
            dic.update(parseIfconfig(i))
            print dic
     
     
    [root@web10 day03]# python 13_ip.py
    {'eth': ['192.168.1.200', '00:0C:29:B7:57:8F']}
     
  • 相关阅读:
    layoutSubviews总结
    Vue.js:循环语句
    Vue.js:条件与循环
    Vue.js:模版语法
    Vue.js:起步
    Vue.js-Runoob:目标结构
    Vue.js-Runoob:安装
    Runoob-Vue.js:教程
    Vue.js:template
    培训-Alypay-Cloud:蚂蚁金融云知识点
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/7521492.html
Copyright © 2020-2023  润新知