Python获取本机所有网卡的MAC地址

发布时间:2019-09-10 08:53:01编辑:auto阅读(1927)

    在拙作《Python可以这样学》(清华大学出版社,2017.2)第297页介绍了一种获取本机网卡MAC地址的方法,不过代码显得稍微有点啰嗦,并且只能获得一块网卡的MAC地址。本文对该内容稍加补充。

    1、这样更简洁

    >>> import uuid
    >>> address = hex(uuid.getnode())[2:]
    >>> '-'.join(address[i:i+2] for in range(0, len(address), 2))
    'f0-03-8c-09-8c-34'

    2、获取多网卡MAC地址

    首先使用pip安装Python扩展库psutil,然后执行下面的代码即可。

    from psutil import net_if_addrs

    for k, v in net_if_addrs().items():
        for item in v:
            address = item[1]
            if '-' in address and len(address)==17:
                print(address)

关键字