Following up on my Formating mac addresses using python post I have a better way of using Mac addresses. I have been using the netaddr library for ip and mac address manipulations. To convert a binary mac address to an EUI object you can use the following code
import netaddr from netaddr import EUI def convertMac(octet): """ This Function converts a binary mac address to a hexadecimal string representation """ return EUI(netaddr.strategy.eui48.packed_to_int(octet))
with the EUI object you have multiple options to format with.
>>> from netaddr import EUI
>>> import netaddr
>>> mac = EUI('01-23-45-67-89-0A')
>>> print mac
01-23-45-67-89-0A
>>>
>>> mac.dialect = netaddr.mac_cisco
>>> print mac
0123.4567.890a
>>>
>>> mac.dialect = netaddr.mac_unix
>>> print mac
1:23:45:67:89:a
>>>
>>> mac.dialect = netaddr.mac_bare
>>> print mac
01234567890A
>>>
>>> mac.dialect = netaddr.mac_unix_expanded
>>> print mac
01:23:45:67:89:0a
>>> mac.dialect = netaddr.mac_eui48
>>> print mac
01-23-45-67-89-0A
