Python 3.3+ipaddressфункция
ipaddress.ip_interface()
фабричные функции
Создаёт IPv4Interface или IPv6Interface — адрес узла вместе с его сетью, как в записи '192.168.1.5/24' из настроек сетевой карты.
Синтаксис
ipaddress.ip_interface(address)
Это ответ на ошибку «has host bits set»: ip_network() такую запись отвергает, а интерфейс её и означает. Из результата берут .ip (сам адрес) и .network (сеть с обнулёнными битами хоста). Равенство учитывает маску: 192.168.1.5/24 и 192.168.1.5/25 — разные интерфейсы, хотя адрес один.
Примеры
import ipaddress
iface = ipaddress.ip_interface('192.168.1.5/24')
print(iface.ip, iface.network) # → 192.168.1.5 192.168.1.0/24
print(iface == ipaddress.ip_interface('192.168.1.5/25')) # → False
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности