如何将MAC号码转换成MAC字符串?

2024-04-30 04:27:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将MAC地址00163e2fbab7(存储为字符串)转换为其字符串表示形式00:16:3e:2f:ba:b7。 最简单的方法是什么?


Tags: 方法字符串mac地址形式b7ba
3条回答

如果您有一个要用冒号连接的字符串s,那么这就可以了。

':'.join([s[i]+s[i+1] for i in range(0,12,2)])

使用完全迂回的方法利用一次对两个十六进制字符进行分组的现有函数:

>>> ':'.join(s.encode('hex') for s in '00163e2fbab7'.decode('hex'))
'00:16:3e:2f:ba:b7'

为Python 3更新:

>>> ':'.join(format(s, '02x') for s in bytes.fromhex('00163e2fbab7'))
'00:16:3e:2f:ba:b7'

使用grouper idiomzip(*[iter(s)]*n)

In [32]: addr = '00163e2fbab7'

In [33]: ':'.join(''.join(pair) for pair in zip(*[iter(addr)]*2))
Out[33]: '00:16:3e:2f:ba:b7'

也有可能(事实上,更快一点):

In [36]: ':'.join(addr[i:i+2] for i in range(0,len(addr),2))
Out[36]: '00:16:3e:2f:ba:b7'

相关问题 更多 >