Python Glossary English

Python 3.3+ipaddressфункция

ipaddress.collapse_addresses()

операции над диапазонами

Склеивает список сетей и адресов в минимальный набор сетей: соседние и перекрывающиеся диапазоны сливаются.

Синтаксис

ipaddress.collapse_addresses(addresses)

Возвращает генератор, а не список: print() покажет <generator object …>, а второй проход по результату окажется пустым — оберните в list(). Отдельные адреса принимаются и становятся сетями /32. Смешать IPv4 и IPv6 в одном вызове нельзя — TypeError, их склеивают раздельно.

Примеры

import ipaddress
nets = [ipaddress.ip_network('10.0.0.0/25'), ipaddress.ip_network('10.0.0.128/25'),
        ipaddress.ip_network('10.0.1.0/24')]
print(list(ipaddress.collapse_addresses(nets)))  # → [IPv4Network('10.0.0.0/23')]
addrs = [ipaddress.ip_address('10.0.0.1'), ipaddress.ip_address('10.0.0.0')]
print(list(ipaddress.collapse_addresses(addrs)))  # → [IPv4Network('10.0.0.0/31')]

См. также

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

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