python:使用netifaces模块获取本机IP网关等信息

python获取本机IP有很多种方法,可每种方法都有局限性。

使用netifaces模块获取本机IP网关等信息,需要安装netifaces模块,不管windows还是linux都可以通用。

一、程序:

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#实现本地网卡IP
#需要安装netifaces模块
def GetNetworkIP():
    #获取本地网卡IP地址
    import netifaces
    #routingGateway = netifaces.gateways()[‘default‘][netifaces.AF_INET][0]   #网关
    routingNicName = netifaces.gateways()[‘default‘][netifaces.AF_INET][1]   #网络适配器信息

    for interface in netifaces.interfaces():
        if interface == routingNicName:
            #print (netifaces.ifaddresses(interface))
            try:
                routingIPAddr = netifaces.ifaddresses(interface)[netifaces.AF_INET][0][‘addr‘]   #获取IP
            except KeyError:
                pass
    #print ("Routing IP Address:%s"% routingIPAddr)
    return routingIPAddr
if __name__ == "__main__":
    try:
        print ("Routing IP Address:",GetNetworkIP())
    except:
        print ("Unable to get the address, there may not be installed netifaces module! command: pip install netifaces")


二、效果图:

技术分享



本文出自 “都市布衣” 博客,请务必保留此出处http://sunday208.blog.51cto.com/377871/1875822

文章来自:http://sunday208.blog.51cto.com/377871/1875822
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3