この問題では、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にあります。
これを処理する方法についての提案、またはそれが私が立ち往生している制限である可能性があることを示唆していますか?