【发布时间】:2015-02-09 06:43:43
【问题描述】:
使用IPy 模块,我如何对IP 地址进行算术运算?也就是一些可以做以下事情的函数:
>>> addIp(IPy.IP('10.0.0.0'), 2)
IP('10.0.0.2')
>>> addIp(IPy.IP('10.0.0.255'), 2)
IP('10.0.1.1')
IP 类型确实有一个__add__ 方法,但它用于从两个 IP 地址创建范围。
我知道这样做看起来很奇怪;我的用例是遍历 IP 范围,我更愿意这样做,而不必实现我自己的 base-256 加法器。
【问题讨论】:
-
为什么不直接利用
IPy支持可迭代范围这一事实呢?for ip in IP('127.0.0.0/30'): print ip -
@LukasGraf 因为我想非连续地迭代 IP,例如127.0.0.0、127.0.0.16、127.0.0.32...
标签: python ip-address