# `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.

  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

  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.