我的应用程序需要通过网络发送和读取IPv6地址。它只会由我的应用程序读取,但我仍然喜欢遵循惯例。这样做是否有库函数?
答案 0 :(得分:1)
socket
模块具有此功能,称为inet_pton。但是,它并非在所有平台上都可用。 (我在Windows机器上找不到它。)
我建议您使用名为ipaddr的非标准库。它有两个非常明显的功能,可以完全满足您的需求:
from ipaddr import ipaddr
raw = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
ip = ipaddr.IPv6Address(ipaddr.Bytes(raw))
print "IP is: " + str(ip)
original = bytes(ip.packed)
print "Original raw bytes: " + repr(original)