python 跨平台获取多网卡中想要的ip地址
需要安装psutil库,然后通过循环遍历获取所有ip,再对比想要的ip前缀或者指定ip.
import psutil
def get_ip(self,prefix):
"""
通过给定前缀跨平台查询ip
:param prefix: 需要查询的ip前缀
:return: ip地址
"""
localIP = ''
dic = psutil.net_if_addrs()
for adapter in dic:
snicList = dic[adapter]
for snic in snicList:
if not snic.family.name.startswith('AF_INET'):
continue
ip = snic.address
if ip.startswith(prefix):
localIP = ip
return localIP
ip=self.get_ip('192.168.1')
print(ip) #192.168.1.85