如何在 Python 中将 IP 地址的最后 n 位数字清零?我更喜欢使用标准库的解决方案,很可能 ipaddress .
一些 strip_addr
测试用例如下所示:
assert strip_addr(u'1.2.3.4', 24) == u'1.2.3.0'
assert strip_addr(u'2001:1234:f678::9', 33) == u'2001:1234:8000::'
最佳答案
使用 interface network objects 怎么样? ?
import ipaddress
def strip_addr(ip, bits):
nwif = ipaddress.ip_interface(u'%s/%s' % (ip, bits))
return str(nwif.network.network_address)
assert strip_addr(u'1.2.3.4', 24) == u'1.2.3.0'
assert strip_addr(u'2001:1234:f678::9', 33) == u'2001:1234:8000::'
关于python - 如何从 IP 地址中删除最后几位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679198/