파이썬 표준 라이브러리의 getpass 모듈에는 두 가지 함수가 정의되어 있습니다. 이 함수들은 터미널 기반 애플리케이션에서 사용자 자격 증명을 검증한 후에만 실행을 허용해야 할 때 매우 유용하게 사용됩니다.
getpass() 함수
getpass() 함수는 사용자에게 비밀번호를 입력하도록 요청하는 프롬프트를 표시합니다. 기본적으로 사용자가 터미널에서 입력하는 키는 화면에 표시(echo)되지 않습니다. 또한 터미널에 나타나는 기본 프롬프트 문구는 'password'이며, 문자열을 매개변수로 전달하면 원하는 문구로 변경할 수 있습니다.
다음 예제에서는 Windows 명령 프롬프트에서 파이썬 대화형 셸을 실행했습니다. 입력된 비밀번호가 터미널에 표시되지 않는 것을 확인할 수 있습니다.
C:\python36>python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import getpass
>>> pwd=getpass.getpass("enter password:")
enter password:
>>> pwd
'admin'다만 IDLE 소프트웨어를 사용해 파이썬 대화형 세션을 진행하는 경우에는 에코 없는 입력 기능을 제공하지 않습니다. 따라서 IDLE 환경에서는 입력된 비밀번호가 그대로 화면에 표시된다는 점에 유의해야 합니다.
getuser() 함수
getuser() 함수는 현재 시스템에 로그인한 사용자의 계정 이름을 반환합니다.
>>> getpass.getuser() 'acer'