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()
  • 说明:获取当前登录的用户名。此函数将从环境变量LOGNAMEUSERLNAMEUSERNAME中按顺序读取第一个非空的值。若这些环境变量都未设置,在支持 pwd 模块的系统上,会返回对应的密码数据库登录名。在获取登录名的功能上,推荐优先使用此函数,而非 os.getlogin()

实战

import getpass
pwd=getpass.getpass("请输入密码:")
print(pwd) # 输入123
user=getpass.getuser()
print(user)
请输入密码:
123
Administrator

标签: 暂无标签