문제

IPv6 주소와 접두사 길이의 이진 또는 문자열 표현을 감안할 때 Python에서 접두사를 추출하는 가장 좋은 방법은 무엇입니까?

나를 위해 이것을 할 수있는 도서관이 있습니까?

  1. 주소를 문자열에서 int (inet_ntop)로 변환합니다.
  2. 접두사를 마스킹하십시오
  3. 접두사를 이진으로 다시 변환합니다
  4. 바이너리 변환 (inet_ntop)
도움이 되었습니까?

해결책

보다 http://code.google.com/p/ipaddr-py/

이것으로 당신은 할 수 있습니다

py> p=ipaddr.IPv6("2001:888:2000:d::a2")
py> p.SetPrefix(64)
py> p
IPv6('2001:888:2000:d::a2/64')
py> p.network_ext
'2001:888:2000:d::'

등.

다른 팁

파이썬 사용 netaddr 도서관:

>>> from netaddr.ip import IPNetwork, IPAddress
>>> IPNetwork('2001:888:2000:d::a2/64').network
2001:888:2000:d::
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top