标签:raw-input masking python passwords
我试图用星号掩盖用户输入IDLE的内容,这样他们周围的人就无法看到他们输入/输入的内容.我正在使用基本的原始输入来收集他们输入的内容.
key = raw_input('Password :: ')
用户输入密码后理想的IDLE提示:
Password :: **********
解决方法:
根据操作系统,如何从用户输入获取单个字符以及如何检查回车符将有所不同.
看这篇文章:Python read a single character from the user
例如,在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
标签:raw-input,masking,python,passwords 来源: https://codeday.me/bug/20190917/1809454.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。