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.

O módulo getpass fornece duas funções:

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.

If echo-free input is unavailable, getpass() falls back to printing a warning message to stream and reading from sys.stdin and issuing a GetPassWarning.

Nota

If you call getpass() from within IDLE, the input may be done in the terminal you launched IDLE from rather than the idle window itself.

Nota

Em sistemas Unix, quando echo_char é definido, o terminal será configurado para operar em modo não canônico. Em particular, isso significa que atalhos de edição de linha, como Ctrl+U, não funcionarão e podem inserir caracteres inesperados na entrada.

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

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.