场景:交互式CLI Python程序,需要密码.这也意味着,没有可能的GUI解决方案.
在bash中,我可以在不通过屏幕重新提示的情况下读取密码
read -s
Run Code Online (Sandbox Code Playgroud)
Python有类似的东西吗?也就是说,
password = raw_input('Password: ', dont_print_statement_back_to_screen)
Run Code Online (Sandbox Code Playgroud)
替代方法:在将类型字符发送回屏幕(又称浏览器样式)之前,将其替换为"*".
当我运行此代码时:
import getpass
p = getpass.getpass(prompt='digite a senha\n')
if p == '12345':
print('YO Paul')
else:
print('BRHHH')
print('O seu input foi:', p) # p = seu input
Run Code Online (Sandbox Code Playgroud)
我收到了这个警告:
Warning (from warnings module):
File "/usr/lib/python3.4/getpass.py", line 63
passwd = fallback_getpass(prompt, stream)
GetPassWarning: Can not control echo on the terminal. Warning: Password input may be echoed.
Run Code Online (Sandbox Code Playgroud)