Документация Python неофициальный перевод

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.