Python中的getpass()和getuser()(无回显的密码)
当您创建一些需要密码保护才能运行的python程序时,我们将使用getpass()和getuser()模块的帮助。它们具有多种功能,可用于管理密码保护以及密码检索等。在本文中,我们将看到如何在有无回显屏幕的情况下键入密码。下面是处理它的不同方法。
有提示
以下代码将保存到文件(logon.py)。getpass()函数输出提示,然后从用户读取输入,直到他们按回车
示例
import getpass
try:
pwd = getpass.getpass()
except Exception as err:
print('Error Occured : ', err)
else:
print('Password entered :', pwd)输出结果
运行上面的代码给我们以下结果-
$ python logon.py Password: Password entered: abracadbra
有安全问题
接下来,我们可以增强代码以提示用户一个安全性问题。这个问题可以帮助用户重新找回密码。
示例
import getpass
pwd = getpass .getpass(prompt = 'What is your favorite colour?')
if pwd == 'Crimson':
print('You are in!')
else:
print('Try Again')输出结果
运行上面的代码给我们以下结果-
$ python logon.py 'What is your favorite colour? You are in!
显示登录名
有时我们需要知道用于运行脚本的登录名。这可以通过使用getuser()函数来实现。
示例
import getpass
user = getpass.getuser()
while True:
pwd = getpass.getpass("User Name : ",user)
if pwd == 'Crimson':
print("You are in!")
else:
print("The password you entered is wrong.")输出结果
运行上面的代码给我们以下结果-
User Name: user1 You are in !