在 Python 中获取 MAC 地址可以使用 uuid 模块中的 getnode() 函数。以下是一段示例代码:

import uuid

def get_mac_address():
    mac_num = hex(uuid.getnode()).replace('0x', '').upper()
    mac = '-'.join(mac_num[i: i + 2] for i in range(0, 11, 2))
    return mac

print(get_mac_address())

在这段代码中,uuid.getnode() 返回一个长整数,这是主机的 MAC 地址。hex() 函数将这个长整数转换为十六进制字符串,然后使用字符串操作来添加分隔符,并将其转换为标准 MAC 地址格式。

请注意,如果计算机有多个网络接口(例如有线和无线),则该方法可能返回任何一个接口的 MAC 地址。同时,如果 Python 程序运行在某些类型的虚拟机或容器中,可能会返回虚拟网络接口的 MAC 地址。

如果你需要获取特定网络接口的 MAC 地址,你可能需要使用更复杂的方法,例如使用操作系统命令或者第三方库,如psutilnetifaces

例如,使用 netifaces 库的代码可能如下:

import netifaces as nif

def get_mac_address(interface):
    return nif.ifaddresses(interface)[nif.AF_LINK][0]['addr']

print(get_mac_address('eth0'))  # 你可以替换 'eth0' 为你的网络接口名称

注意这些代码可能需要相应权限才能正确运行。