文章内容

2021/9/7 18:12:02,作 者: 黄兵

ValueError: fe80::204:61ff:fe9d:f156/11 has host bits set

最近在使用 Python ipaddress 做 CIDR 转换的时候,出现了如下错误:

ValueError: fe80::204:61ff:fe9d:f156/11 has host bits set

出现问题的原因:

如果地址不代表有效的 IPv4 或 IPv6 地址,或者网络设置了主机位,则会引发 ValueError 。

原来错误代码:

ip_v6_cidr = 'fe80:0000:0000:0000:0204:61ff:fe9d:f156/11'
hosts = IPv6Network(ip_v6_cidr)
self.assertEqual(str(hosts[0]), 'fe80::')

解决方案:

ip_v6_cidr = 'fe80:0000:0000:0000:0204:61ff:fe9d:f156/11'
hosts = IPv6Network(ip_v6_cidr, False)
self.assertEqual(str(hosts[0]), 'fe80::')


参考资料:

1、ipaddress module ValueError('%s has host bits set' % self)

2、Python doc - ipaddress


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - ValueError: fe80::204:61ff:fe9d:f156/11 has host bits set

分享到:

发表评论

评论列表