输入时如何更改文本显示内容?

0 投票
2 回答
964 浏览
提问于 2025-04-17 21:46

我正在制作一个程序来测试密码,想知道当用户输入他们的密码时,能不能让他们输入的密码在控制台或图形界面上不显示出来?

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()

但是在控制台中显示星号就稍微复杂一些;你需要使用 sysmsvcrt 模块——可以去谷歌搜索一下,或者单独问一个问题,询问如何使用这些模块来实现这个功能;我不太清楚。

2

Python 提供了一个内置的库,可以帮助你完成这个任务:

>>> import getpass
>>> pw = getpass.getpass()

补充说明:正如 @MattH 提到的,这个方法在用户输入密码时不会显示星号 (*)。

撰写回答