【问题标题】:How to get the mac address of all my interfaces without giving the name of interfaces?如何在不提供接口名称的情况下获取我所有接口的mac地址?
【发布时间】:2020-12-11 00:27:32
【问题描述】:

环境:

Python 3.7

MAC 操作系统

Windows 10

问题:

它存在一些提供mac地址的模块,例如get-mac,但您需要传递接口的名称。

我想在不知道接口名称的情况下获取所有mac地址的列表。

我在下面使用了这段代码:

def get_mac_addresses(family):
    for interface, snics in psutil.net_if_addrs().items():
        for snic in snics:
            if snic.family == family:
                yield (interface, (snic.address))


macs = dict(get_mac_addresses(psutil.AF_LINK))

但我得到一个例外:

Error check subscription => module 'psutil' has no attribute 'AF_LINK'

所以我想知道是否存在另一种方法来获取计算机 MAC 或 Windows 上现有 mac 的列表?

【问题讨论】:

  • 你确定你正确安装了 psutil 模块吗?全新安装 psutil 后,您的代码对我来说运行良好。尝试重新安装该软件包。
  • 你说得对。这是版本的问题。我不知道发生了什么。 Pycharm 降级我的 psutils。感谢您的帮助。
  • 我将评论转换为答案,请接受 :) 很高兴我的解决方案奏效了!

标签: python-3.x windows macos


【解决方案1】:

你确定你正确安装了 psutil 模块吗?全新安装 psutil 后,您的代码对我来说运行良好。尝试重新安装该软件包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 2023-03-05
    • 2011-02-05
    • 1970-01-01
    • 2012-02-20
    相关资源
    最近更新 更多