如何在python的ipv6地址字符串中修剪前导零?
例如:我需要将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 lib,它会产生与上述相同的输出。
#!/usr/bin/env python
import ipaddress
ip = '1:1:1:1:1:1:0:1'
print(str(ipaddress.ip_address(ip)))
我尝试通过参考this问题上获得最高投票的答案来使用netaddr库,但出现导入错误。我正在使用Python 3.0。
我也尝试使用this库,但遇到ImportError:没有名为“ IPy”的模块错误
#!/usr/bin/env python
from IPy import IP
print(IP('1080:0:0:0:8:800:200C:417A'))
我很惊讶地发现,没有人在内置库中拥有真正明确的解决方案来解决这一问题。有人可以帮忙吗?