getpass – портативный ввод пароля¶getpass – Portable password input
Исходный код: Lib/getpass.py
Доступность: не WASI.
Этот модуль не работает или недоступен на WebAssembly. Подробнее см. платформы WebAssembly.
Модуль getpass предоставляет две функции:
- getpass.getpass(prompt='Password: ', stream=None, *, echo_char=None)¶
Запрашивает у пользователя пароль без отображения. Пользователю выводится строка prompt, по умолчанию равная
'Password: '. В Unix строка записывается в файлоподобный объект поток данных с использованием обработчика ошибок replace при необходимости. поток данных по умолчанию равен управляющему терминалу (/dev/tty) или, если он недоступен,sys.stderr(этот аргумент игнорируется в Windows).Аргумент echo_char управляет отображением вводимых пользователем символов. Если echo_char равен
None(по умолчанию), ввод остаётся скрытым. В противном случае echo_char должен быть одним печатным символом ASCII, которым заменяется каждый введённый символ. Например,echo_char='*'будет выводить звёздочки вместо фактического ввода.Если ввод без эхо-отображения недоступен, getpass() возвращается к выводу предупреждающего сообщения в поток данных и чтению из
sys.stdinс генерациейGetPassWarning.Примечание
Если вызвать getpass из IDLE, ввод может выполняться в терминале, из которого была запущена IDLE, а не в самом окне IDLE.
Примечание
В системах Unix, если задан echo_char, терминал будет переведён в неканонический режим. В частности, это означает, что сокращения для редактирования строки, такие как Ctrl+U, не будут работать и могут вставлять неожиданные символы в ввод.
Изменено в версии 3.14: Добавлен параметр echo_char для обратной связи с клавиатуры.
- exception getpass.GetPassWarning¶
Подкласс
UserWarning, создаваемый, когда ввод пароля может отображаться на экране.
- getpass.getuser()¶
Возвращает «логин» пользователя.
Эта функция последовательно проверяет переменные окружения
LOGNAME,USER,LNAMEиUSERNAMEи возвращает значение первой, установленной в непустую строку. Если ни одна не установлена, на системах, поддерживающих модульpwd, возвращается логин из базы паролей; в противном случае возбуждаетсяOSError.В целом эту функцию следует предпочитать
os.getlogin().Изменено в версии 3.13: Ранее возбуждались различные исключения, а не только
OSError.