Python 3: создайте список возможных IP-адресов из нотации CIDR

Мне вручили задачу создания функции в Python (3.1), который возьмет нотацию CIDR и возвратит список возможных IP-адресов. Я осмотрел python.org и нашел это: http://docs.python.org/dev/py3k/library/ipaddr.html

но я не видел ничего, что удовлетворит эту потребность... Я был бы очень благодарен за любую помощь, любой хочет ударить мой путь.заранее спасибо.:-)

13
задан skaffman 5 January 2010 в 23:28
поделиться

3 ответа

Проверяли ли вы iptools ? Кажется, это неплохо подходит.

1
ответ дан 1 December 2019 в 17:21
поделиться

Этого нет в документации, но просмотр источника предполагает, что ipaddr реализует __ iter __ и iterhosts , что именно то, что вы хотите.


Эээ, неважно.

0
ответ дан 1 December 2019 в 17:21
поделиться

Если вы не используете встроенный модуль, то есть проект под названием 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
35
ответ дан 1 December 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: