Итак, я использую python и написал код для сканирования пароля. Поэтому, поскольку пароль не должен отображаться открыто, я сканирую один символ, используя msvcrt.getch()
, а затем делаю print('*', end='')
.
Вот код:
if __name__ == '__main__':
string = ''
ch = msvcrt.getch()
while ch != b'\r':
print('*', end='')
string += ch.decode('utf-8')
ch = msvcrt.getch()
print('\nEntered string is: ', string)
Проблема здесь в том, что * печатаются после того, как я ввожу весь «пароль». Но я ожидал, что * будет печататься каждый раз при вводе символа. Я использую код в терминале .
Я думаю, что я правильно структурировал код, так почему он не работает?
(Также, если есть другие способы сканирования паролей, пожалуйста, укажите их)