我找到了一个解决方案,但是它使用了终端。

在使用之前,您需要安装依赖项

布鲁兹

def get_connected_devices():
    bounded_devices = check_output(['bt-device', '-l']).decode().split("\n")[1:-1]
    connected_devices = list()
    for device in bounded_devices:
        name = device[:device.rfind(' ')]
        #mac_address regex
        regex = '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})|([0-9a-fA-F]{4}\\.[0-9a-fA-F]{4}\\.[0-9a-fA-F]{4})$'
        mac_address = re.search(regex, device).group(0)

        device_info = check_output(['bt-device', '-i', mac_address]).decode()
        connection_state = device_info[device_info.find('Connected: ') + len('Connected: ')]
        if connection_state == '1':
            connected_devices.append({"name": name, "address": mac_address})
    return connected_devices