Конвертиране на шестнадесетичен MAC адрес в четимо от потребителя форматиране (Python)

Получавам от сокета MAC адрес в този формат: 0024e865a023 (шестнадесетичен преобразуван от двоичен с получен-низ.encode("шестнадесетичен"))

Бих искал да го конвертирам в четим от потребителя формат като този: 00-24-e8-65-a0-23

Има ли лесен начин да го направите?


person nabs1    schedule 17.08.2010    source източник


Отговори (1)


Можете да разделите MAC адреса на масив от всеки блок и след това да ги присъедините към -:

mac = '0024e865a023'
blocks = [mac[x:x+2] for x in xrange(0, len(mac), 2)]
macFormatted = '-'.join(blocks)
person Michael Mrozek    schedule 17.08.2010
comment
просто диапазонът x преди е твърде много, но редакциите се нуждаят от поне 6 знака ... ;) - person John; 25.02.2016
comment
@John Не съм сигурен какво казваш; xrange е просто range в Python 3, ако това е проблемът, който имате. Те преименуваха xrange на range и се отърваха от старата версия на range - person Michael Mrozek; 25.02.2016
comment
прав си. не работех с Python 2 и в First Moment реших, че е грешка при писане. Както и да е, това реши и моя проблем. Благодаря! - person John; 25.02.2016