Как я могу замаскировать или скрыть пользовательский ввод в python без использования getpass ()? - PullRequest
3 голосов
/ 17 марта 2020

, поскольку вопрос предполагает, что я ищу способ скрыть или замаскировать пользовательский ввод в python без использования стандартной библиотеки getpass из-за использования spyder; Мне интересно, возможно ли это было бы возможно с помощью нажатой клавиши и записи каждой нажатой клавиши без ее отображения, пока не будет нажата кнопка ввода? Если это возможно, кто-нибудь сможет помочь мне с фрагментом для этой цели

Спасибо, Сэм Хеджекок

1 Ответ

1 голос
/ 17 марта 2020

Вы должны взглянуть на своего рода механизм регистрации ключей. Вы можете определить, какая клавиша нажата пользователем, сохранить эти клавиши в буфере и, наконец, вывести их после нажатия клавиши ENTER.

Рабочий кроссплатформенный пример:

from getkey import getkey, keys

#Buffer holding all the pressed keys
pressed_keys = []

while True:
    #Getting the pressed key
    key = getkey()

    #Appending it to array
    pressed_keys.append(key)

    #If ENTER is pressed, exit loop
    if key == keys.ENTER:
        break

#Outputting all pressed keys after ENTER is pressed
for key in pressed_keys:
    print(key, end='')

Вам необходимо установить getkey хоть. Используйте pip3 install getkey.

...