输入时如何更改文本显示内容?
我正在制作一个程序来测试密码,想知道当用户输入他们的密码时,能不能让他们输入的密码在控制台或图形界面上不显示出来?
2 个回答
1
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()
这个方法在图形界面(GUI)中可以用。你可以在需要的地方调用 pw = my_box.get()
来获取用户输入。
如果你想在控制台中隐藏用户的 input
,可以使用 getpass
模块——不过这个方法只是隐藏输入,不会显示星号。
>>> import getpass
>>> pw = getpass.getpass()
但是在控制台中显示星号就稍微复杂一些;你需要使用 sys
和 msvcrt
模块——可以去谷歌搜索一下,或者单独问一个问题,询问如何使用这些模块来实现这个功能;我不太清楚。
2
Python 提供了一个内置的库,可以帮助你完成这个任务:
>>> import getpass
>>> pw = getpass.getpass()
补充说明:正如 @MattH 提到的,这个方法在用户输入密码时不会显示星号 (*)。