枚举系统所有网络适配器上的所有IP地址。
ifaddr的Python项目详细描述
ifaddr是一个小的python库,它允许您查找 计算机的IP地址。它在linux,os x上测试,并且 windows。其他bsd衍生物,如openbsd,freebsd,以及 netbsd也应该可以,但我还没有亲自测试过。
这个库是开源的,在mit许可下发布。
您可以使用pip install ifaddr安装它。它不需要 编译任何东西,所以不应该有任何意外。即使是在窗户上。
我们走吧!
importifaddradapters=ifaddr.get_adapters()foradapterinadapters:print"IPs of network adapter "+adapter.nice_nameforipinadapter.ips:print" %s/%s"%(ip.ip,ip.network_prefix)
这将打印:
IPsofnetworkadapterH5321gwMobileBroadbandDriverIP('fe80::9:ebdf:30ab:39a3',0L,17L)/64IP169.254.57.163/16IPsofnetworkadapterIntel(R)Centrino(R)Advanced-N6205IP('fe80::481f:3c9d:c3f6:93f8',0L,12L)/64IP192.168.0.51/24IPsofnetworkadapterIntel(R)82579LMGigabitNetworkConnectionIP('fe80::85cd:e07e:4f7a:6aa6',0L,11L)/64IP192.168.0.53/24IPsofnetworkadapterSoftwareLoopbackInterface1IP('::1',0L,0L)/128IP127.0.0.1/8
你得到了IPv4和IPv6地址。后者包括 流程信息和范围ID。
文档
完整的文档(没有太多文档)可以在这里找到: ifaddr Documentation。
错误报告和其他贡献
此项目位于这里ifaddr github page。
备选方案
Alastair Houghton开发了netifaces 它能做图书馆能做的一切,还有更多。唯一的缺点是它需要 将被编译,这可能会使安装变得困难。