随记,getpass 模块

getpass 模块


有时候写脚本时,可能需要输入密码。因为需要脚本交互,所以不能够在脚本直接将密码硬编码,需要弹出提示输入。

input() 在我们早前学习的时候,可能会用到。但是这个在终端输入的时候,会显示输入的内容。而 getpass 这个模块,在当你需要在终端输入密码,但又不希望终端回显输入的密码时,可以用到。

下面是具体代码:

import getpass

# 这里直接显示输入的用户名
user = input("Enter your username: ")
# 密码使用 getpass 模块
pwd = getpass.getpass()

if login(user, pwd):
    print('Yes!')
else:
    print('No')

login() 是处理密码的函数,这里只用最简单的逻辑来查看 getpass 模块的功能实现效果。

# 简略 login 函数
def login(user, pwd):
    if user == 'admin' and pwd == '123456':
        return True
    return False

运行的效果:

失败
成功

还有一些需要注意的地方,有些系统可能不支持 getpass() 方法隐藏密码。不过 Python 也会提前给出相应的警告。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。