Итак, я делаю программу для проверки пароля, и мне было интересно: когда пользователь вводит свой пароль, можете ли вы запретить отображать его пароль, когда они вводят его в консоль / графический интерфейс?
Можно ли при наборе текста изменить то, как отображается текст?
Ответы (2)
Python предлагает вам встроенную библиотеку:
>>> import getpass
>>> pw = getpass.getpass()
Изменить: как упоминалось @MattH, это не будет отображать звездочки (*), пока пользователь вводит пароль.
person
santosh-patil
schedule
11.03.2014
Не предоставляет
*
для нажатия клавиш
- person MattH; 11.03.2014
import tkinter as tk
root = tk.Tk()
def store():
pw = my_box.get()
my_box = tk.Entry(root, show='*')
my_box.pack()
Button(text='Submit', command=store).pack()
root.mainloop()
Это будет работать в графическом интерфейсе. Затем при необходимости вы можете позвонить pw = my_box.get()
.
Вы можете скрыть пользователя input
в консоли с помощью _4 _ module- но это только скрывает и не отображает звездочки.
>>> import getpass
>>> pw = getpass.getpass()
Но отображение звездочек в консоли немного сложнее; вам нужно будет использовать sys
и msvcrt
- погуглить или задать отдельный вопрос, спрашивая, как использовать эти модули для этой цели; Я не знаю.
person
anon582847382
schedule
11.03.2014
*
отображался эхом? Достаточно ли подавления нажатия клавиш? - person MattH   schedule 11.03.2014