LoginSignup
2
1

More than 5 years have passed since last update.

PythonでIPアドレスのフォーマットをチェックする

Posted at

PythonでIPアドレス(IPv4)のフォーマットをチェックする場合の一例です。

import socket

def check_ipaddr_format(ipaddr):
    msg = ""
    result = True
    try:
        socket.inet_aton(ipaddr)
    except socket.error:
        msg = "Bad IP address (%s) " % ipaddr
        result = False
    return result, msg

補足

  • socketモジュールのinet_atonメソッドは本来、IPアドレスの文字列を32ビットのバイナリ形式に変換する用途で使用するメソッドですが、上記の例では、inet_atonメソッドがIPアドレスの形式に不正がある場合、例外エラー(socket.error)を返却する動作を利用しています
  • 上記の方法はIPv6のアドレスはチェック出来ません
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1