本文整理汇总了Python中netaddr.IPSet.issuperset方法的典型用法代码示例。如果您正苦于以下问题:Python IPSet.issuperset方法的具体用法?Python IPSet.issuperset怎么用?Python IPSet.issuperset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类netaddr.IPSet
的用法示例。
在下文中一共展示了IPSet.issuperset方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_ipset_supersets_and_subsets
# 需要导入模块: from netaddr import IPSet [as 别名]
# 或者: from netaddr.IPSet import issuperset [as 别名]
def test_ipset_supersets_and_subsets():
s1 = IPSet(['192.0.2.0/24', '192.0.4.0/24'])
s2 = IPSet(['192.0.2.0', '192.0.4.0'])
assert s1.issuperset(s2)
assert s2.issubset(s1)
assert not s2.issuperset(s1)
assert not s1.issubset(s2)
ipv4_addr_space = IPSet(['0.0.0.0/0'])
private = IPSet(['10.0.0.0/8', '172.16.0.0/12', '192.0.2.0/24',
'192.168.0.0/16', '239.192.0.0/14'])
reserved = IPSet(['225.0.0.0/8', '226.0.0.0/7', '228.0.0.0/6', '234.0.0.0/7',
'236.0.0.0/7', '238.0.0.0/8', '240.0.0.0/4'])
unavailable = reserved | private
available = ipv4_addr_space ^ unavailable
assert [tuple(map(str, (cidr, cidr[0], cidr[-1]))) for cidr in available.iter_cidrs()] == [
('0.0.0.0/5', '0.0.0.0', '7.255.255.255'),
('8.0.0.0/7', '8.0.0.0', '9.255.255.255'),
('11.0.0.0/8', '11.0.0.0', '11.255.255.255'),
('12.0.0.0/6', '12.0.0.0', '15.255.255.255'),
('16.0.0.0/4', '16.0.0.0', '31.255.255.255'),
('32.0.0.0/3', '32.0.0.0', '63.255.255.255'),
('64.0.0.0/2', '64.0.0.0', '127.255.255.255'),
('128.0.0.0/3', '128.0.0.0', '159.255.255.255'),
('160.0.0.0/5', '160.0.0.0', '167.255.255.255'),
('168.0.0.0/6', '168.0.0.0', '171.255.255.255'),
('172.0.0.0/12', '172.0.0.0', '172.15.255.255'),
('172.32.0.0/11', '172.32.0.0', '172.63.255.255'),
('172.64.0.0/10', '172.64.0.0', '172.127.255.255'),
('172.128.0.0/9', '172.128.0.0', '172.255.255.255'),
('173.0.0.0/8', '173.0.0.0', '173.255.255.255'),
('174.0.0.0/7', '174.0.0.0', '175.255.255.255'),
('176.0.0.0/4', '176.0.0.0', '191.255.255.255'),
('192.0.0.0/23', '192.0.0.0', '192.0.1.255'),
('192.0.3.0/24', '192.0.3.0', '192.0.3.255'),
('192.0.4.0/22', '192.0.4.0', '192.0.7.255'),
('192.0.8.0/21', '192.0.8.0', '192.0.15.255'),
('192.0.16.0/20', '192.0.16.0', '192.0.31.255'),
('192.0.32.0/19', '192.0.32.0', '192.0.63.255'),
('192.0.64.0/18', '192.0.64.0', '192.0.127.255'),
('192.0.128.0/17', '192.0.128.0', '192.0.255.255'),
('192.1.0.0/16', '192.1.0.0', '192.1.255.255'),
('192.2.0.0/15', '192.2.0.0', '192.3.255.255'),
('192.4.0.0/14', '192.4.0.0', '192.7.255.255'),
('192.8.0.0/13', '192.8.0.0', '192.15.255.255'),
('192.16.0.0/12', '192.16.0.0', '192.31.255.255'),
('192.32.0.0/11', '192.32.0.0', '192.63.255.255'),
('192.64.0.0/10', '192.64.0.0', '192.127.255.255'),
('192.128.0.0/11', '192.128.0.0', '192.159.255.255'),
('192.160.0.0/13', '192.160.0.0', '192.167.255.255'),
('192.169.0.0/16', '192.169.0.0', '192.169.255.255'),
('192.170.0.0/15', '192.170.0.0', '192.171.255.255'),
('192.172.0.0/14', '192.172.0.0', '192.175.255.255'),
('192.176.0.0/12', '192.176.0.0', '192.191.255.255'),
('192.192.0.0/10', '192.192.0.0', '192.255.255.255'),
('193.0.0.0/8', '193.0.0.0', '193.255.255.255'),
('194.0.0.0/7', '194.0.0.0', '195.255.255.255'),
('196.0.0.0/6', '196.0.0.0', '199.255.255.255'),
('200.0.0.0/5', '200.0.0.0', '207.255.255.255'),
('208.0.0.0/4', '208.0.0.0', '223.255.255.255'),
('224.0.0.0/8', '224.0.0.0', '224.255.255.255'),
('232.0.0.0/7', '232.0.0.0', '233.255.255.255'),
('239.0.0.0/9', '239.0.0.0', '239.127.255.255'),
('239.128.0.0/10', '239.128.0.0', '239.191.255.255'),
('239.196.0.0/14', '239.196.0.0', '239.199.255.255'),
('239.200.0.0/13', '239.200.0.0', '239.207.255.255'),
('239.208.0.0/12', '239.208.0.0', '239.223.255.255'),
('239.224.0.0/11', '239.224.0.0', '239.255.255.255'),
]
assert ipv4_addr_space ^ available == IPSet([
'10.0.0.0/8', '172.16.0.0/12', '192.0.2.0/24', '192.168.0.0/16',
'225.0.0.0/8', '226.0.0.0/7', '228.0.0.0/6', '234.0.0.0/7',
'236.0.0.0/7', '238.0.0.0/8', '239.192.0.0/14', '240.0.0.0/4',
])