IP는 v4와 v6가 존재한다.

 

v4 형식 :

1.12.123.1

v6 형식 : 

2001:0DB8:0000:0000:0000:0000:1428:57ab
2001:0DB8:0000:0000:0000::1428:57ab
2001:0DB8:0:0:0:0:1428:57ab
2001:0DB8:0::0:1428:57ab
2001:0DB8::1428:57ab

 

IP 유효성 검사 1. ipaddress 활용

 

IP를 입력값으로 받을 때 제대로 입력했는지 확인을 꼭 해야한다.

정규표현식으로 처리할 수도 있지만

ipaddress 모듈을 활용하여 편하게 검사할 수 있다.

 

참고 : https://pypi.org/project/ipaddress/

 

ipaddress

IPv4/IPv6 manipulation library

pypi.org

pip install ipaddress
import ipaddress

try:
    ipaddress.ip_address('1.1.1.1')
    print('ip 형식입니다.')
except:
    print('ip 형식이 아닙니다.')

ipaddress는 사실 ip 주소를 편하게 다룰 수 있게 도와주는 모듈로

ip 형식을 체크하는 모듈은 아니지만

ip를 다룬다면 어차피 사용하는 모듈이니

이렇게 활용해보자

 

참과 거짓을 반환하지 않고 ipaddress 객체를 반환하거나 에러가 나기 때문에

try / except를 활용한다.

 

import ipaddress

try:
    ipaddress.ip_address('2001:0DB8::1428:57ab')
    print('ip 형식입니다.')
except:
    print('ip 형식이 아닙니다.')

ipv6도 되니 얼마나 좋은가!!

 

 

IP 유효성 검사 2. validators 활용

 

validators 모듈은 다양한 문자열의 유효성을 검사해주는 모듈이다.

 

https://pypi.org/project/validators/

 

validators

Python Data Validation for Humans™.

pypi.org

pip install validators
import validators

if validators.ipv4('1.1.1.1'):
    print('참')
else:
    print('거짓')

validators는 참과 ValidationFailure를 반환하기 때문에

if를 활용한다.

'Application Language > Python' 카테고리의 다른 글

[python] 파이썬 url 유효성 검사 방법  (0) 2022.09.06

+ Recent posts