Я пытаюсь сделать небольшую программу, которая проверяет надежность пароля пользователя. Когда пользователю предлагается ввести свой пароль, я хочу, чтобы ввод отображался в виде звездочек или точек вместо ввода текста. Есть ли способ скрыть этот ввод.
Я использовал getpass, чтобы попытаться скрыть ввод без успеха.
from getpass import getpass
passwd = getpass('Please enter your password')
Это дает мне следующее предупреждающее сообщение:
Предупреждение (из модуля предупреждений): Файл «C:\Program Files (x86)\Python36-32\lib\getpass.py», строка 100 возвращает fallback_getpass (приглашение, поток) GetPassWarning: невозможно управлять эхом на терминале. Предупреждение: ввод пароля может быть отражен. Пожалуйста, введите ваш пароль: this_is_my_password
Пароль вводится в строке, но вместо звездочек выводятся исходные символы.
Поскольку программа будет проверять надежность пароля, мне нужно что-то, что сохраняет пароль не в виде звездочек, а в виде его исходных символов.
Кроме того, есть ли способ включить способ отображения пароля пользователя, если он выполняет действие. Я рассматривал возможность использования кнопки, но это область Python, в которой я не уверен, поэтому могу ли я программировать по-другому с определенной клавишей.
Код Sudo для проекта.
userPass = hidden(input("Please enter your password "))
if showPassword selected:
show the password
else:
move on with the rest of the program
getpass()
использует, чтобы скрыть эхо символов. Если вы запускаете код из какой-либо IDE, попробуйте вместо этого запустить его непосредственно из командной строки. - person jasonharper   schedule 08.11.2017