Вы знаете, как в Linux, когда вы пробуете что-то в Sudo, он сообщает вам ввести пароль, и, когда вы вводите, в окне терминала ничего не отображается (пароль не отображается)?
Есть ли способ сделать это в Python? Я работаю над скриптом, который требует такой конфиденциальной информации, и хотел бы, чтобы она была скрыта, когда я ее набираю.
Другими словами, я хочу получить пароль от пользователя, не показывая пароль.
passwor = '' whileTrue: x = msvcrt.getch() if x == '\r': break sys.stdout.write('*') passwor +=x
print'\n'+passwor
Ответ 4
Обновление ответа @Ahmed ALaa
# import msvcrt import getch
defgetPass(): passwor = '' whileTrue: x = getch.getch() # x = msvcrt.getch().decode("utf-8") if x == '\r'or x == '\n': break print('*', end='', flush=True) passwor +=x return passwor
print("\nout=", getPass())
msvcrt используется только для Windows, но getch из PyPI должен работать для обоих (я тестировал только с Linux). Вы также можете прокомментировать / раскомментировать две строки, чтобы это работало в Windows.