[issue28577] ipaddress.ip_network(...).hosts() returns nothing for an IPv4 /32
era
report at bugs.python.org
Tue Nov 1 04:16:05 EDT 2016
era added the comment:
@xiang.zhang thanks for the quick reply.
I find this behavior surprising. If I process a list of addresses, like
ips = (
'10.9.8.7/32'
'10.11.12.8/28'
)
for test in ['10.9.8.7', '10.11.12.10']:
if test in [str(y) for x in ips for y in ipaddress.ip_network(x).hosts()]:
print('{0} found'.format(test))
else:
print('{0} not found'.format(test))
I would expect both addresses to print "found", but that's not how the current implementation works.
I agree that the /28 should not include the gateway and broadcast addresses, but I would not expect the explicitly listed /32 address to completely disappear from the output.
Are my expectations incorrect? For code like this, what should I use instead, if not hosts()?
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue28577>
_______________________________________
More information about the Python-bugs-list
mailing list