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 也会提前给出相应的警告。
网友评论