键入时可以更改文本显示的内容吗?

时间:2014-03-11 09:10:21

标签: python python-3.x

所以我正在制作一个测试密码的程序,并且想知道,当用户输入他们的密码时,你可以在他们输入控制台/ GUI时停止显示密码吗?

2 个答案:

答案 0 :(得分:2)

Python为您提供了内置库:

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

编辑:正如@MattH所提到的,当用户输入密码时,这不会回显星号(*)。

答案 1 :(得分: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()


您可以使用getpass模块在​​控制台中隐藏用户input,但这只会隐藏并且不会显示星号。

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

但是在控制台中显示星号有点复杂;您需要使用sysmsvcrt - 谷歌或询问一个单独的问题,询问如何将这些模块用于此目的;我不知道。