Как мне обрезать начальные нули в адресной строке ipv6 в python?
Например: мне нужно 1: 1: 1: 1: 1: 1: 0: 1, чтобы обрезать до 1: 1: 1: 1: 1: 1 :: 1
Я пытался использовать socket.inet_ntop и socket.inet_pton, но они не помогают в моем случае
#!/usr/bin/env python
import socket
import struct
address = '1:1:1:1:1:1:0:1'
addr = socket.inet_ntop(socket.AF_INET6,socket.inet_pton(socket.AF_INET6, address))
print (addr)
Это печатает ту же строкукак вывод 1: 1: 1: 1: 1: 1: 0: 1
Я также попробовал библиотеку ipaddress, которая выдает тот же вывод, что и выше.
#!/usr/bin/env python
import ipaddress
ip = '1:1:1:1:1:1:0:1'
print(str(ipaddress.ip_address(ip)))
Я пыталсяиспользуя netaddr lib, обращаясь к ответу с наибольшим количеством голосов на этот вопрос, но получаю ошибку импорта.Я использую Python 3.0.
Я также пытался использовать эту библиотеку, но получаю ошибку ImportError: Нет модуля с именем 'IPy'
#!/usr/bin/env python
from IPy import IP
print(IP('1080:0:0:0:8:800:200C:417A'))
Яс удивлением обнаружил, что ни у кого не было настоящего четкого решения во встроенной библиотеке для решения этой проблемы.Может кто-нибудь помочь?