PythonでIPアドレスを操作する方法


  1. IPアドレスの検証: IPアドレスが正しい形式かどうかを確認する必要があります。Pythonのipaddressモジュールを使用すると、簡単にIPアドレスの検証ができます。以下は、IPアドレスが有効かどうかを確認する例です。

    import ipaddress
    def validate_ip_address(ip):
       try:
           ipaddress.ip_address(ip)
           return True
       except ValueError:
           return False
    ip = "192.168.0.1"
    if validate_ip_address(ip):
       print("Valid IP address")
    else:
       print("Invalid IP address")
  2. IPアドレスのパース: Pythonのipaddressモジュールを使用すると、IPアドレスを構成要素に分割することができます。以下は、IPアドレスのパース例です。

    import ipaddress
    ip = ipaddress.ip_interface("192.168.0.1/24")
    print("IP address:", ip.ip)
    print("Network address:", ip.network)
    print("Netmask:", ip.netmask)
  3. IPアドレスの比較: IPアドレスの大小比較や等値比較も行うことができます。以下は、IPアドレスの比較例です。

    import ipaddress
    ip1 = ipaddress.ip_address("192.168.0.1")
    ip2 = ipaddress.ip_address("192.168.0.2")
    if ip1 < ip2:
       print("ip1 is smaller than ip2")
    elif ip1 > ip2:
       print("ip1 is greater than ip2")
    else:
       print("ip1 and ip2 are equal")
  4. サブネットワークの操作: IPアドレスをサブネットワークに分割したり、サブネットワークの範囲を計算したりすることもできます。以下は、サブネットワークの操作例です。

    import ipaddress
    network = ipaddress.ip_network("192.168.0.0/24")
    for ip in network:
       print(ip)
    subnet = network.subnets(prefixlen_diff=1)
    for sub in subnet:
       print(sub)

これらはPythonでIPアドレスを操作するための基本的な方法の一部です。さまざまなネットワーキングのタスクに応じて、ipaddressモジュールを活用することができます。詳細な情報については、Pythonの公式ドキュメントを参照してください。