getpass — Entrada de senha portátil

Código-fonte: Lib/getpass.py


Disponibilidade: not WASI.

Este módulo não funciona ou não está disponível em WebAssembly. Veja Plataformas WebAssembly para mais informações.

The getpass module provides two functions:

getpass.getpass(prompt='Password: ', stream=None, *, echo_char=None)

Solicita uma senha do usuário sem emiti-la. O usuário é solicitado usando a string prompt, cujo padrão é 'Password: '. No Unix, o prompt é escrito no objeto arquivo ou similar stream usando o tratador de erros de substituição, se necessário. O stream padrão para o terminal de controle (/dev/tty) ou se não estiver disponível para sys.stderr (este argumento é ignorado no Windows).

O argumento echo_char controla como a entrada do usuário é exibida durante a digitação. Se echo_char for None (padrão), a entrada permanece oculta. Caso contrário, echo_char deve ser um único caractere ASCII imprimível e cada caractere digitado será substituído por ela. Por exemplo, echo_char='*' exibirá asteriscos em vez da entrada real.

Se uma entrada sem exibição em tela não estiver disponível, getpass() recorre a exibir uma mensagem de aviso para stream e lê de sys.stdin e levantar de um GetPassWarning.

Nota

Se você chamar getpass de dentro do IDLE, a entrada pode ser feita no terminal de onde você iniciou o IDLE, e não na própria janela ociosa.

Nota

On Unix systems, when echo_char is set, the terminal will be configured to operate in noncanonical mode. Common terminal control characters are supported:

  • Ctrl+A - Move cursor to beginning of line

  • Ctrl+E - Move cursor to end of line

  • Ctrl+K - Kill (delete) from cursor to end of line

  • Ctrl+U - Kill (delete) entire line

  • Ctrl+W - Erase previous word

  • Ctrl+V - Insert next character literally (quote)

  • Backspace/DEL - Delete character before cursor

These shortcuts work by reading the terminal’s configured control character mappings from termios settings.

Alterado na versão 3.14: Adicionado o parâmetro echo_char para feedback do teclado.

Alterado na versão 3.15: When using non-empty echo_char on Unix, keyboard shortcuts (including cursor movement and line editing) are now properly handled using the terminal’s control character configuration.

exception getpass.GetPassWarning

A subclasse UserWarning é levantada quando a entrada de senha pode acabar sendo exibida na tela.

getpass.getuser()

Retorna o “nome de login” do usuário.

Esta função verifica as variáveis de ambiente LOGNAME, USER, LNAME e USERNAME, nesta ordem, e retorna o valor da primeiro que estiver definida como uma string não vazia. Se nenhuma estiver definida, o nome de login do banco de dados de senhas é retornado em sistemas que oferecem suporte ao módulo pwd, caso contrário, uma exceção OSError é levantada.

Em geral, esta função deve ter preferência sobre os.getlogin().

Alterado na versão 3.13: Anteriormente, várias exceções além de apenas OSError eram levantadas.