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")
二、效果图:
转载于:https://blog.51cto.com/sunday208/1875822