Вы знаете, как в Linux, когда вы пробуете что-то из Sudo, он говорит вам ввести пароль, и при вводе ничего не отображается в окне терминала (пароль не отображается)?
Есть ли способ сделать это в Python? Я работаю над сценарием, который требует такой конфиденциальной информации и хотел бы, чтобы он был скрыт при вводе.
Другими словами, я хочу получить пароль от пользователя, не показывая пароль.
источник
getpass()
заключается в том, что никто не может смотреть на исходный код и узнать ваш пароль, просто прочитав его, и никто не может получить ваш пароль, просто глядя через плечо и читая пароль с экрана, когда вы вводите его.getpass работает на Linux, Windows и Mac.
источник
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.
в IDLE, но хорошо работало в командной строке, нашел причину здесьimport sys
):getpass.getpass(
<string>,sys.stderr)
Используйте getpass для этой цели.
источник
Этот код будет печатать звездочку вместо каждой буквы.
источник
getpass
ответ. Хорошо15.7. getpass - Портативный ввод пароля
Вы можете прочитать больше здесь
источник
Обновление ответа @Ahmed ALaa
msvcrt у нас только для windows, но getch из PyPI должен работать для обоих (я тестировал только с linux). Вы также можете прокомментировать / раскомментировать две строки, чтобы они работали для окон.
источник