2011-02-10 5 views

답변

6
import struct 
"%x:%x:%x:%x:%x:%x" % struct.unpack("BBBBBB",your_variable_with_mac) 
+3

조금 더 나은 02x – PSS

-1

보통 진수 형식이 충분한 사람이 읽을 수없는가요? (16 진수로 바이트를 변환하는 방법에 대한 see this)

de:ad:be:ef:ca:fe 

이 덧붙여,이 MAC 주소는 대부분의 소프트웨어에 표시되는 방법입니다 (단 윈도우 대신 콜론의 대시를 사용한다).

3

시도, 요지는 당신의 바이트 배열입니다

for b in addr: 
    print("%02x:" % (b)) 

.

7

사용할 필요가 없습니다 struct :

def prettify(mac_string): 
    return ':'.join('%02x' % ord(b) for b in mac_string) 

mac_string 경우 비록 bytearray (또는 파이썬 3 bytes) 데이터 특성에 문자열보다 더 자연스러운 선택이다, , 당신은 또한 ord 기능을 필요로하지 않을 것입니다.

사용 예제는 :

>>> prettify(b'5e\x21\x00r3') 
'35:65:21:00:72:33' 
+0

훌륭한 위대한 답변, 더 upvote이 필요합니다. –