从csv文件创建ipaddress / CIDR列表,将ipaddress转换为网络地址,然后通过从列表中创建一个集合(python 3.7)来消除重复项之后,我迭代并消除了所有另一个subnets_of()的子网子网,保留汇总或超级网地址。我使用ipaddress模块来完成这项工作。问题是,如果将子网与自身进行比较,它仍然算作子网。例如,
a = ipaddress.ip_network('192.168.0.0/24')
b = ipaddress.ip_network('192.168.0.0/24')
b.subnet_of(a)
True
因此,即使我的列表中有192.168.0.0/23,也仍添加/ 24,因为所有地址都与所有地址进行了比较。是否有更好的方法来处理这种情况?
我已经尝试从工作列表中删除该子网,这样它就不会被重复访问,不走运。
无错误消息。我只是得到一个包含在我列表中较大子网内的子网。这样就留下了不必要的条目。
答案 0 :(得分:0)
您是否尝试过仅删除/
之后的所有内容?