Сайт, на который вы ссылаетесь, не работает для меня. Исходя из кода, я предполагаю, что вы хотите что-то, что работает как функция ввода пароля. Но вы хотите, чтобы отображаемые символы были взяты из существующего текста вместо того, чтобы быть ничем или потоком '' s 'или' * '.
Если это так, я рекомендую вам изменить соответствующую функцию для Unix или Windows в модуле getpass. Обратите внимание, что обе функции подавления эха требуют, чтобы sys.stdout == sys. stdout (== системный терминал, а не None). Ничего не повторяйте, вам придется добавить это. Ни одна из них не работает при запуске в среде IDE, такой как IDLE, которая перепривязывает sys.stdout для печати в GUI.
Если вы работаете в Windows, вы должны прочитать https://docs.python.org/3/library/msvcrt.html#console-i-o.. Вы должны использовать putch
для записи байтов или использовать getwch
и putwch
для ввода и вывода символов Юникода. В Unix вам придется самим копаться в коде.