簡潔なステートメントを使用して、16進文字列( '003de70fc98a')をMAC文字列( '00:3d:e7:0f:c9:8a')にフォーマットするにはどうすればよいですか?
質問する
1612 次
3 に答える
4
正規表現を使用できます:
>>> re.sub(r'(?<=..)(..)', r':\1', '003de70fc98a')
'00:3d:e7:0f:c9:8a'
于 2013-03-17T02:06:15.583 に答える
3
In [104]: hexstr = '003de70fc98a'
In [105]: ':'.join([hexstr[i:i+2] for i in range(0, len(hexstr), 2)])
Out[105]: '00:3d:e7:0f:c9:8a'
また、
In [108]: ':'.join(map(''.join, zip(*[iter(hexstr)]*2)))
Out[108]: '00:3d:e7:0f:c9:8a'
于 2013-03-17T02:01:53.027 に答える
1
これを試して:
s = '003de70fc98a'
':'.join(s[i]+s[i+1] for i in range(0, len(s), 2))
=> '00:3d:e7:0f:c9:8a'
于 2013-03-17T02:05:21.513 に答える