Преобразование объекта ipaddres в str
У меня есть объект класса ipaddress.ip_network(ip) При помощи
range_ = ipaddress.ip_network(ip)
for ip in range_:
request(ip)
Я передаю в функцию элемент объекта. Каким методом можно его преобразовать в строку? Метода __str__() в этой библиотеке как понимаю нет
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Пример для Python 3.7.6:
In [9]: from ipaddress import ip_network
In [10]: net = ip_network('192.0.2.0/24')
In [11]: net_str = str(net)
In [12]: net_str
Out[12]: '192.0.2.0/24'
In [13]: net.__str__()
Out[13]: '192.0.2.0/24'
In [14]: print(net)
192.0.2.0/24
In [15]: [str(sub) for sub in net.subnets()]
Out[15]: ['192.0.2.0/25', '192.0.2.128/25']
UPDATE:
In [16]: [str(ip) for ip in net]
Out[16]:
['192.0.2.0',
'192.0.2.1',
'192.0.2.2',
'192.0.2.3',
'192.0.2.4',
'192.0.2.5',
'192.0.2.6',
'192.0.2.7',
'192.0.2.8',
'192.0.2.9',
'192.0.2.10',
...