【发布时间】:2018-04-24 12:40:04
【问题描述】:
所以,我使用 python 并编写了一个代码来扫描密码。所以,由于密码不应该公开显示,我使用msvcrt.getch()扫描一个字符,然后使用print('*', end='')。
代码如下:
if __name__ == '__main__':
string = ''
ch = msvcrt.getch()
while ch != b'\r':
print('*', end='')
string += ch.decode('utf-8')
ch = msvcrt.getch()
print('\nEntered string is: ', string)
这里的问题是,在我输入整个“密码”后,* 会被打印出来。但是,我期待的是每次输入一个字符时都会打印一个 * 。 我正在终端中运行代码。
我认为我正确地构造了代码,为什么它不起作用?
(另外,如果有其他扫描密码的方法,请务必提及)
【问题讨论】:
标签: python passwords msvcrt getch