Мне вручили задачу создания функции в Python (3.1), который возьмет нотацию CIDR и возвратит список возможных IP-адресов. Я осмотрел python.org и нашел это: http://docs.python.org/dev/py3k/library/ipaddr.html
но я не видел ничего, что удовлетворит эту потребность... Я был бы очень благодарен за любую помощь, любой хочет ударить мой путь.заранее спасибо.:-)
Проверяли ли вы iptools
? Кажется, это неплохо подходит.
Этого нет в документации, но просмотр источника предполагает, что ipaddr
реализует __ iter __
и iterhosts
, что именно то, что вы хотите.
Эээ, неважно.
Если вы не используете встроенный модуль, то есть проект под названием netaddr , который является лучшим модулем, который я использовал для работы с IP-сетями.
Взгляните на Руководство по IP , в котором показано, насколько легко работать с сетями и распознавать их IP-адреса. Простой пример:
>>> from netaddr import IPNetwork
>>> for ip in IPNetwork('192.0.2.0/23'):
... print '%s' % ip
...
192.0.2.0
192.0.2.1
192.0.2.2
192.0.2.3
...
192.0.3.252
192.0.3.253
192.0.3.254
192.0.3.255