url은 https://www.google.com 과 같은 형식의 문자열이다.

사실 우리는 https와 www를 생략하고 브라우저에 입력해도

알아서 찾아가주지만

프로그램에서는 전체를 입력받는 것이 좋다.

 

http와 www를 생략해도 처리되게 하려면

정규표현식을 사용해야 한다.

 

하지만 전체 url 문자열의 유효성을 검사하려면 모듈을 사용하면 된다.

 

validators 문자열은 url 뿐만 아니라 email주소, ip 주소 등 다양한 문자열의

유효성을 검사해준다.

 

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

 

validators

Python Data Validation for Humans™.

pypi.org

 

pip install validators
import validators

if validators.url('http://google.com'):
    print('참')
else:
    print('거짓')

 

맞으면 True

아니면 ValidationFailure를 반환하기 때문에 if를 활용한다.

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