Vous savez comment sous Linux lorsque vous essayez des trucs Sudo, il vous dit d'entrer le mot de passe et, pendant que vous tapez, rien ne s'affiche dans la fenêtre du terminal (le mot de passe n'est pas affiché)?
Existe-t-il un moyen de le faire en Python? Je travaille sur un script qui nécessite des informations si sensibles et souhaite qu'il soit masqué lorsque je le tape.
En d'autres termes, je veux obtenir le mot de passe de l'utilisateur sans afficher le mot de passe.
la source
getpass()
est que personne ne puisse regarder le code source et trouver votre mot de passe simplement en le lisant, et personne ne peut obtenir votre mot de passe en regardant simplement par-dessus votre épaule et en lisant votre mot de passe à l'écran lorsque vous le saisissez.getpass fonctionne sur Linux, Windows et Mac.
la source
Warning (from warnings module): File "C:\Python27\lib\getpass.py", line 92 return fallback_getpass(prompt, stream) GetPassWarning: Can not control echo on the terminal. Warning: Password input may be echoed.
dans l'inactivité, mais a bien fonctionné dans l'invite de commande, a trouvé la raison iciimport sys
):getpass.getpass(
<string>,sys.stderr)
Utilisez getpass à cet effet.
la source
Ce code imprimera un astérisque à la place de chaque lettre.
la source
getpass
réponse. Bon15.7. getpass - Saisie de mot de passe portable
Vous pouvez en lire plus ici
la source
Mise à jour sur la réponse de @Ahmed ALaa
msvcrt nous uniquement pour Windows, mais getch de PyPI devrait fonctionner pour les deux (je n'ai testé qu'avec Linux). Vous pouvez également commenter / décommenter les deux lignes pour le faire fonctionner pour Windows.
la source