import netifaces as ni
ip = ni.ifaddresses("eth0")[ni.AF_INET]['addr']
错误
^{pr2}$ip = ni.ifaddresses("eth0")[ni.AF_INET]['addr'] ValueError: You must specify a valid interface name.
错误
ip = ni.ifaddresses("en0")[ni.AF_INET]['addr'] TypeError: list indices must be integers or slices, not str
有人知道mac为什么会给出这样的错误吗?在
第一个错误意味着没有名为
eth0
的接口。实际上,这是Linux上的一个通用接口名,但在MacOS上不是。在第二个错误意味着您试图提取一个不存在的字段。有关于
en0
的信息,但它是一个数组,而不是dict。这就像说"hello"["addr"]
,无法访问序列的"addr"
:th元素。你显然是说尽管没有办法脱离上下文来判断只得到一个地址是否真的是你想要的。您得到的数组代表许多绑定;也许您想要所有这些绑定?在
^{pr2}$^{} documentation 实际上非常详细地解释了这一点。在
相关问题 更多 >
编程相关推荐