Я собираюсь проверить, является ли IP-адрес частным или зарезервированным (например, адрес многоадресной рассылки).
Мой метод сейчас выглядит так:
def __IP4_POR(ip):
if(ipaddress.ip_address(ip).is_private or
ipaddress.ip_address(ip).is_reserved or
ipaddress.ip_address(ip).is_multicast): return str(1)
else: return str(0);
Так что проблема в том, что компилятор python вернет мне 0, если IP находится в диапазоне 100.64.0.0/10.
Вопрос: почему компилятор возвращает 0? Потому что, когда я смотрю на реестр адресов IANA IPv4 специального назначения, я вижу, что IP-адрес должен быть в соответствии с RFC6598 IETF зарезервирован, а компилятор должен возвращать 1, а не 0.
Возможно, это ошибка в библиотеке Python?
Надеюсь, вы поможете мне с небольшим объяснением.
Спасибо!
edit: я использую Python 3.6.5