【Python】内置库之getpass
getpass模块提供了两个函数getpass和getuser,隐式密码输入和获取当前用户,当你想要用户输入密码,基于安全考虑,密码又不能明文显示出来的时候就可以使用这个模块。
官方文档: getpass — Portable password input
隐式密码输入
- 语法:
getpass(prompt='Password: ', stream=None)
- 说明:没有回显地获取用户输入的密码。 使用 prompt 设置提示语,默认提示语 Password: , 该提示语会输出到
stream
设置的file-like对象,默认为/dev/tty
(如果不可用,则输出到sys.stderr
)。通常直接使用默认值就行,包括stream
参数,当我们使用SSH连接到Linux环境时,在终端就能看到提示语。注意, stream 参数在Windows上会被忽略。
获取当前用户
- 语法:getuser()
- 说明:获取当前登录的用户名。此函数将从环境变量
LOGNAME
、USER
、LNAME
、USERNAME
中按顺序读取第一个非空的值。若这些环境变量都未设置,在支持 pwd 模块的系统上,会返回对应的密码数据库登录名。在获取登录名的功能上,推荐优先使用此函数,而非os.getlogin()
。
实战
import getpass
pwd=getpass.getpass("请输入密码:")
print(pwd) # 输入123
user=getpass.getuser()
print(user)
请输入密码:
123
Administrator