Python 如何获取给定网络接口的IP地址?

Python 如何获取给定网络接口的IP地址?,python,networking,network-interface,Python,Networking,Network Interface,在Python中是否有一个函数来获取给定网络接口的IP地址? 是否有一个命令行程序可以执行此操作 我想得到en1的IP地址 这是在我的机器上执行ifconfig的结果 $ ifconfig lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.

在Python中是否有一个函数来获取给定网络接口的IP地址? 是否有一个命令行程序可以执行此操作

我想得到en1的IP地址

这是在我的机器上执行ifconfig的结果

$  ifconfig 
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:23:32:be:4e:90 
    media: autoselect
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:23:6c:7e:3e:0c 
    inet6 fe80::223:6cff:fe7e:3e0c%en1 prefixlen 64 scopeid 0x5 
    inet 192.168.1.70 netmask 0xffffff00 broadcast 192.168.1.255
    media: autoselect
    status: active
vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:50:56:c0:00:01 
    inet 172.16.64.1 netmask 0xffffff00 broadcast 172.16.64.255
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:50:56:c0:00:08 
    inet 172.16.174.1 netmask 0xffffff00 broadcast 172.16.174.255
vboxnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 0a:00:27:00:00:00
$ifconfig
lo0:flags=8049 mtu 16384
inet6::1预桥128
inet6 fe80::1%lo0预桥64作用域ID 0x1
inet 127.0.0.1网络掩码0xff000000
gif0:标志=8010 mtu 1280
stf0:标志=0 mtu 1280
en0:标志=8863 mtu 1500
乙醚00:23:32:be:4e:90
媒体:自动选择
状态:不活跃
en1:标志=8863 mtu 1500
乙醚00:23:6c:7e:3e:0c
inet6 fe80::223:6cff:fe7e:3e0c%en1预桥64作用域ID 0x5
inet 192.168.1.70网络掩码0xffffff00广播192.168.1.255
媒体:自动选择
状态:活动
vmnet1:flags=8863 mtu 1500
乙醚00:50:56:c0:00:01
inet 172.16.64.1网络掩码0xffffff00广播172.16.64.255
vmnet8:标志=8863 mtu 1500
乙醚00:50:56:c0:00:08
inet 172.16.174.1网络掩码0xffffff00广播172.16.174.255
vboxnet0:flags=8842 mtu 1500
乙醚0a:00:27:00:00:00

$sudo pip安装

$python

Python 2.6.1(r261:675152010年6月24日21:47:49) [GCC 4.2.1(苹果公司构建5646)]关于达尔文 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”

导入网络面

netifaces.ifAddresss('en0')

{18:[{'addr':'10:9a:dd:52:89:dc'}],2:[{'broadcast':'10.188.55.255','netmask':'255.255.254.0','addr':'10.188.55.130'}],30:[{'netmask':'ffff:ffff:ffff:','addr':'fe80::129a:ddff:fe52:89dc%en0'}]

请参阅可能的副本