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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于python:使用netifaces模块获取本机IP网关等信息的主要内容,如果未能解决你的问题,请参考以下文章

linux通过Python获取本机的ip,mac,网关,子网掩码,网卡名

如何修复 python2.7 的 netifaces 模块安装?

python之netifaces模块

Python netifaces给出了两个地址

Python - 使用 C 类型和本机 ioctl() 获取 Mac 地址会产生未知结果

React Native:本机模块不返回任何内容