我正在尝试创建一个登录窗口,提示用户输入他们的用户名和密码,尽管输入密码时我正在寻找要打印的星号,例如常见的密码输入(即 - Sekr3t 被回显为:* * * * * *)。
这是我到目前为止的代码,我不知道为什么它不回显星号:
import msvcrt
import sys
def login(prompt = '> '):
write = sys.stdout.write
for x in prompt:
msvcrt.putch(x)
passw = ""
while 1:
x = msvcrt.getch()
if x == '\r' or x == '\n':
break
if x == '\b':
# position of my error
passw = passw[:-1]
else:
write('*')
passw = passw + x
msvcrt.putch('\r')
msvcrt.putch('\n')
return passw
任何帮助,将不胜感激。