失敗談 技術

小ネタ – Python3 でIPv4アドレスの第三オクテットを加算する方法

投稿日:

ホント小ネタです。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になるという、、可変では使わないからな、、たぶん。使うときは気にしよう。

-失敗談, 技術

執筆者:

関連記事

最近の故障/修正物

近年で故障し、しょうがないから修理、というか購入したもの、及び顛末を書いてみます。 ハードディスク・レコーダー ちょっと前から調子が悪く、電源がつかなかったり、ついたと思ったら、録画物のリストがおかし …

小ネタ: Ansible , with_itemsをloopに変える方法

とっても小さい小ネタです。 Ansible 2.4(今現在) -> Ansible 2.9に変えたい Ansibleを使用していますが、だいたい2.4ぐらいを使っています。流石にバージョンアップしない …

新規プロジェクト参入時に考えること

派遣における労働条件 就業予定時間(変形労働時間やフレックスタイム制の適用を含む)残業の有無と量就業場所(交通ルート、オフィスの配置等)業務の継続予定期間 制服の有無 (背広かどうか)福利厚生施設の有 …

Python3でsnmptrapの受送信をしてみる

はじめに 私はなんちゃってプログラマですが、なぜかいまどきsnmptrapの受信プログラムを作ることになりました。 なんだかなと思いますが、、まぁブログネタにいいかなと思い、手元でもやってみることにし …

poetry installでJSONDecodeError

小ネタです。OSをアップデートしたので、その他もいろいろアップデートしようとしたらエラーになったので、メモとして書いておきます。 WSL2のUbuntuを 22.04 LTSにアップデート は、さほど …

google オプトアウト Click here to opt-out.