用星号屏蔽python中的用户输入
发布于 2021-01-29 16:37:37
我试图用星号掩盖用户输入到IDLE中的内容,以使周围的人看不到他们正在输入/已输入的内容。我正在使用基本的原始输入来收集他们输入的内容。
key = raw_input('Password :: ')
用户输入密码后理想的IDLE提示:
Password :: **********
关注者
0
被浏览
35
1 个回答
-
根据操作系统的不同,如何从用户输入中获取单个字符以及如何检查回车符将有所不同。
看到这篇文章:Python从用户那里读取一个字符
例如,在OSX上,您可以这样:
import sys, tty, termios def getch(): fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch key = "" sys.stdout.write('Password :: ') while True: ch = getch() if ch == '\r': break key += ch sys.stdout.write('*') print print key