将十六进制MAC地址转换为用户可读格式(Python)

将十六进制MAC地址转换为用户可读格式(Python),python,macos,hex,bin,Python,Macos,Hex,Bin,我正在从套接字接收以下格式的MAC地址: 0024e865a023(使用接收到的字符串进行二进制转换的十六进制编码(“十六进制”)) 我想将其转换为用户可读的格式,如下所示: 00-24-e8-65-a0-23 有什么简单的方法吗?您可以将MAC地址拆分为每个块的数组,然后在-上连接它们: mac = '0024e865a023' blocks = [mac[x:x+2] for x in xrange(0, len(mac), 2)] macFormatted = '-'.join(block

我正在从套接字接收以下格式的MAC地址: 0024e865a023(使用接收到的字符串进行二进制转换的十六进制编码(“十六进制”))

我想将其转换为用户可读的格式,如下所示: 00-24-e8-65-a0-23


有什么简单的方法吗?

您可以将MAC地址拆分为每个块的数组,然后在
-
上连接它们:

mac = '0024e865a023'
blocks = [mac[x:x+2] for x in xrange(0, len(mac), 2)]
macFormatted = '-'.join(blocks)

仅x之前的范围太大,但编辑至少需要6个字符…;)@约翰不知道你在说什么
xrange
在Python3中只是
range
,如果这是您遇到的问题的话。他们将
xrange
重命名为
range
,并删除了
range
的旧版本。我没有使用Python2,一开始我就认为这是一个键入错误。不管怎样,它也解决了我的问题。谢谢