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のアドレスはチェック出来ません