Python Glossary English

Python 3.3+ipaddressфункция

ipaddress.ip_network()

фабричные функции

Создаёт IPv4Network или IPv6Network из записи вида '192.168.1.0/24'; по умолчанию строго проверяет, что адрес — начало сети.

Синтаксис

ipaddress.ip_network(address, strict=True)

Главная ловушка — strict=True по умолчанию: '192.168.1.5/24' падает с ValueError «has host bits set», потому что в адресе сети взведены биты хоста. Если на входе адрес машины с маской, передайте strict=False — хост-биты обнулятся — или берите ip_interface(), который сохранит и адрес, и сеть. Маску можно писать и префиксом, и полностью: '/24' и '/255.255.255.0' дают одну сеть.

Примеры

import ipaddress
print(ipaddress.ip_network('192.168.1.5/24', strict=False))  # → 192.168.1.0/24
print(ipaddress.ip_network('192.168.1.0/255.255.255.0'))  # → 192.168.1.0/24
ipaddress.ip_network('192.168.1.5/24')  # → ValueError: 192.168.1.5/24 has host bits set

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности