1
语言:Python 3.x都有netifaces:试图让所有接口的ip地址在Linux中
操作系统:Ubuntu的14.04
如何通过使用Python 3.X与获得所有接口的IP地址netifaces模块或通过使用任何其他模块。
>>> netifaces.interfaces()
['lo', 'eth0', 'eth1']
>>> netifaces.interfaces()
['lo', 'eth0', 'eth1']
>>> netifaces.ifaddresses('eth0')
{17: [{'broadcast': 'ff:ff:ff:ff:ff:ff', 'addr': '08:00:27:5b:24:09'}], 2: [{'broadcast': '10.0.2.255', 'netmask': '255.255.255.0', 'addr': '10.0.2.15'}], 10: [{'netmask': 'ffff:ffff:ffff:ffff::', 'addr': 'fe80::a00:27ff:fe5b:2409%eth0'}]}
我想用
>>> len(netifaces.interfaces())
3
,并希望开发一些while循环带来ip地址在我的系统中所有interaces。但是在netifaces.ifaddress()
函数替换接口名称的区域失败。
如果您需要更多信息,请让我知道。
谢谢。
请你解释一下它会做的。我正在学Python。\ –
这是我得到的,>>>地图(lambda i:netifaces.ifaddresses(i),netifaces.interfaces()) <地图对象在0x7f7420ccd3c8> 我不知道如何提取。可能会使用谷歌搜索帮助我 –
它给所有接口的IP地址。但我其实并没有多少想法。就像只提取接口的IP地址一样。我在lambda后给出了print i:以获得接口名称。但是我得到了错误。并以同样的方式,我可以包括一个新的行字符 –