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 |
---|