import uuid uuid.getnode()
Функция getnode()
модуля uuid
возвращает аппаратный адрес (MAC-адрес) в виде 48-битного натурального числа.
При первом запуске функция uuid.getnode
может запустить отдельную программу, которая может быть довольно медленной. Если все попытки получить аппаратный адрес не удаются, то выбирается случайное 48-битное число с многоадресным битом, младший значащий бит первого октета равным 1, как рекомендуется в RFC 4122.
"Аппаратный адрес" - означает MAC-адрес сетевого интерфейса. На машине с несколькими сетевыми интерфейсами универсально управляемые MAC-адреса (то есть, когда второй младший бит первого октета не установлен) будут предпочтительнее локально управляемых MAC-адресов, но без других гарантий упорядочения.
>>> import uuid >>> uuid.getnode() # 268914881220836 >>> hex(uuid.getnode()) # '0xf4939ff850e4'
uuid.getnode()
.Что бы получить MAC-адрес в привычном виде, нужно соединить вывод функции uuid.getnode()
после каждых 2 цифр. Для соединения элементов будем использовать регулярные выражения:
>>> import uuid, re >>> ':'.join(re.findall('..', '%012x' % uuid.getnode())) # 'f4:93:9f:f8:50:e4'