为了账号安全,请及时绑定邮箱和手机立即绑定

从标准输入读取密码

从标准输入读取密码

阿波罗的战车 2019-12-20 11:12:01
场景:一个交互式CLI Python程序,需要密码。这也意味着不可能有GUI解决方案。在bash中,我可以读取密码而无需通过以下方式在屏幕上重新提示read -sPython有类似的东西吗?即password = raw_input('Password: ', dont_print_statement_back_to_screen)替代方法:将键入的字符替换为“ *”,然后再将其发送回屏幕(又称浏览器样式)。
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

>>> import getpass

>>> pw = getpass.getpass()


查看完整回答
反对 回复 2019-12-20
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

是的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

(这是Python 3.x;使用raw_input而不是input使用Python2.x。)


查看完整回答
反对 回复 2019-12-20
  • 2 回答
  • 0 关注
  • 403 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信