ホント小ネタです。IPv4アドレスの第四オクテットは単に加算すればいいですが、第三オクテットを加算する方法が見つかりませんでした
通常はしないのかもしれませんが、、そして残念ながら、いい方法がありませんでした。結局intにしてx 256にするという当たり前な方法しか。。
以下の感じです。
# 一行で書くと以下 # ipaddress.ip_address(int(ipaddress.ip_address('192.168.1.1'))+(num * 256)) import ipaddress class OctetIPAddress(): def __init__(self, ipaddr): self._ipaddr = ipaddress.ip_address(ipaddr) def third_octet(self, num): return ipaddress.ip_address(int(self._ipaddr) + (num * 256)) if __name__ == '__main__': print(OctetIPAddress('192.168.1.1').third_octet(3))
実行すると以下になります。
$ python3 pyip.py
192.168.4.1
もうちょっと考えるといい方法があるのかもしれませんが、とりあえず妥協。。
そして当然ながら、numを257にすると、192.169.2.1になるという、、可変では使わないからな、、たぶん。使うときは気にしよう。