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:以獲得接口名稱。但是我得到了錯誤。並以同樣的方式,我可以包括一個新的行字符 –