В этой проблеме я занимаюсь сетевыми адресными пространствами IPv6, поэтому длина 2^(128-subnet)
.
Похоже, что python (по крайней мере, на этом компьютере) справится с 64-разрядным номером со знаком в качестве возвращаемого значения из __len__()
. Поэтому len(IP('2001::/66'))
работает, но len(IP('2001::/65'))
не работает.
from IPy import IP
len(IP('2001::/64'))
Traceback (most recent call last):
File "test.py", line 2, in <module>
len(IP('2001::/64'))
OverflowError: long int too large to convert to int
Библиотека IPy находится под вопросом https://github.com/haypo/python-ipy.
Любые предложения о том, как с этим справиться, или намек на то, что это может быть ограничение, с которым я застрял?