问题:从标准输入读取密码
场景:一个交互式CLI Python程序,需要密码。这也意味着没有GUI解决方案。
在bash中,我无需重新输入密码即可在屏幕上输入密码
read -s
Python有类似的东西吗?即
password = raw_input('Password: ', dont_print_statement_back_to_screen)
替代方法:将键入的字符替换为“ *”,然后再将其发送回屏幕(又称浏览器样式)。
回答 0
>>> import getpass
>>> pw = getpass.getpass()
回答 1
是的getpass
:“不提示用户提示输入密码。”
编辑:我自己还没有玩过这个模块,所以这就是我刚准备的(不过,如果到处都找到类似的代码,不会感到惊讶):
import getpass
def login():
user = input("Username [%s]: " % getpass.getuser())
if not user:
user = getpass.getuser()
pprompt = lambda: (getpass.getpass(), getpass.getpass('Retype password: '))
p1, p2 = pprompt()
while p1 != p2:
print('Passwords do not match. Try again')
p1, p2 = pprompt()
return user, p1
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。