Módulo Python GetPass
Usando python Obter passagem Módulo, é possível aceitar senhas em programas Python e manter as passageiras seguras. Veremos exemplos de manter senhas seguras e também como podemos transmitir senhas do terminal para os arquivos de texto. Vamos começar com alguns exemplos.
Python GetPass Exemplo básico
Neste exemplo, começaremos com um exemplo muito básico de como podemos fazer um usuário inserir uma senha no terminal e garantir que a senha não seja ecoada de volta ao prompt de comando. Aqui está o mesmo programa:
importar getPass
tentar:
senha = getPass.Obter passagem()
Exceto exceção como ex:
Imprima ('Ocorreu o erro:', ex)
outro:
Print ('Senha digitada:', senha)
Aqui está o que recebemos com este comando:
Obtenha a senha segredo
A senha da string é o prompt padrão que é apresentado pelo script python. No próximo exemplo, estará personalizando isso para algo que gostaremos de usar em nossos programas.
Python GetPass com prompt personalizado
Neste exemplo, personalizaremos o prompt que é mostrado ao usuário quando Python solicitar uma frase secreta:
importar getPass
pwd = getPass.getPass (prompt = ', que é a melhor ilha de Ubuntu para visitar?')
Se PWD == 'Linuxhint':
Impressão ('Claro!')
outro:
print ('onde está isso?')
Vamos ver a saída para este comando:
Prompt personalizado para obter senha
Este comando é útil quando você deseja pedir algumas sessões além das seqüências de senha.
Transmitir senha para outro açoite
O Obter passagem Módulo nos permite transmitir a senha que um usuário insere para alguns outros fluxos, como um arquivo, logs ou qualquer coisa que possa ser representada como um fluxo na verdade. Só precisamos passar o fluxo para a própria função:
importar getPass
Importar sistemas
pwd = getPass.getPass (stream = sys.stderr)
Print ('Senha inserida:', PWD)
Aqui está o que recebemos com este comando:
Transmissão de senha para outros fluxos
Obtendo senhas sem terminal
O python Obter passagem módulo precisa de tty que possa ser controlado por um Termios. Isso é aplicável quando estamos trabalhando com alguns sistemas baseados em UNIX. Com isso, o eco pode ser desativado. Quando executamos o exemplo a seguir em uma máquina não unix:
eco "não escuro" | python3 getpass_defaults.py
Aqui está o que recebemos com este comando:
comando terios
Enquanto executamos o script em uma máquina não unix, a sequência de saída foi o que entramos. Caso contrário, teríamos simplesmente visto não escuro String como saída no terminal.
Leia mais sobre Terminais de teletipo aqui.
Conclusão
Nesta lição, analisamos como podemos usar o Python Obter passagem Módulo para gerenciar as sessões secretas com eficiência em nossos programas Python.