import sys
import getch
import time
def get_password(prompt="Введите пароль: "):
print(prompt, end='', flush=True)
pwd = ""
while True:
ch = getch.getch()
if ch in '\r\n':
break
elif ch in '\x08\x7f':
if pwd:
pwd = pwd[:-1]
sys.stdout.write('\b \b')
else:
pwd += ch
sys.stdout.write(ch + '\b*')
sys.stdout.flush()
time.sleep(0.2)
print()
return pwd
password = get_password()
print("Ваш пароль был успешно сохранен:", password)
Сначала решил использовать библиотеку getpass, но она кривая и не показывает вводимый пароль вовсе.
Потом примкнул к sys и getch, результат уже есть, но захотелось сделать так, чтобы при вводе, число показывалось на 0.2 секунды, а только потом заменялось звёздочкой. Вроде должно работать, но "анимации" нету, что не так?