【问题标题】:When typing can you change what the text is displayed as? [duplicate]键入时可以更改文本显示的内容吗? [复制]
【发布时间】:2014-04-14 18:55:42
【问题描述】:

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

【问题讨论】:

  • 对于控制台应用程序,最好使用 getpass 模块,即使它不会将键入的字符更改为星号。
  • 您确定要回显* 吗?抑制按键的显示就足够了吗?
  • 是的,抑制按键会起作用,但如何?
  • 谢谢 :) 会试试的

标签: python python-3.x


【解决方案1】:

Python 为您提供了一个内置库:

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

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

【讨论】:

  • 不为按键提供*
【解决方案2】:
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- 谷歌它或提出一个单独的问题,询问如何为此目的使用这些模块;我不知道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-25
    • 2014-05-11
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多