我遇到netaddr软件包的问题 - 版本0.7.5。此代码按预期工作,并打印出以下范围内的IP地址列表:
from netaddr import IPNetwork
ipnetwork = '192.168.0.0/24'
print list(IPNetwork(ipnetwork).iter_hosts())
但是,如果我将网络更改为“192.168.0.0/8”,我的脚本就会挂起:
from netaddr import IPNetwork
ipnetwork = '192.168.0.0/8'
print list(IPNetwork(ipnetwork).iter_hosts())
我错过了什么或这是一个错误吗?
修改
看起来我因为没有意识到这个范围有多大而错过了什么!
答案 0 :(得分:2)
你确定不只是花了很多时间吗?您正在从迭代器中创建一个列表。当我在我的机器上运行它时,我获得100%的CPU使用率和内存使用量增加。如果直接使用迭代器,我也可以打印出整个范围。