python: PyInputPlus

기억을 위한 사진들. (아.. 세월이..) (아니, 기억을 위한 글조각.)
잊기 전에 기록해둔다.

Automate the Boring stuff with Python 에 나온, python input 함수 대체재.
예전에 보안을 배울 때, 입력 시에 여러가지 조건을 두는 방법(나이 대 제한이라든가..)을 뭐라 특정하여 부르는 이름이 있었는데.. 지금은 까먹었다. 그게 벌써 15년쯤 전이니..
아무튼, 그런 식으로 input 을 대체하여 여러가지 편리한 기능을 손쉽게 쓸 수 있게 해주는 모듈이다. 다음 명령으로 설치 가능하다.

pip install --user pyinputplus

이런 식으로 사용할 수 있다.

>>> import pyinputplus as pyip
>>> input()
42
'42'
>>> response = pyip.inputInt() # keep asking until an int is entered
forty two
'forty two' is not an integer.
42
>>> response
42

만약 그냥 input 을 썼다면, response 값이 int 인지 검증하는 코드를 추가해야만 한다. PyInputPlus 는 그럴 번거로움을 없애준다. min, max, greaterThan, lessThan 등이 가능하고, allowlistRegexes, blocklistRegexes 를 쓸 수도 있다. allowlist 는 blocklist 에 우선(Override)한다.

그야말로, 잊지 않기 위해 정리.

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.