python --- getpass模块讲解

在写python程序时,有时需要和用户进行交互,需要让用户输入用户名和密码。

  -  当然这个操作还是比较简单的,但是如果不做处理的话,就会有问题,用户输入用户名的时候没什么问题,但是用户输入密码的时候密码就会想用户名一样显示出来,这往往是不安全的,则需要导入 python 中自带的模块 getpass 来解决这个问题。

优化前的代码:

[root@localhost untitled]# vim user.py
username = input('请输入用户名: ')
password = input('请输入密码: ')
print('-' * 50)
print('您输入的用户名为: %s' % (username))
print('您输入的密码为: %s' % (password))

[root@localhost untitled]# python3 user.py 
请输入用户名: 梁炳川
请输入密码: 123qqq...A
--------------------------------------------------
您输入的用户名为: 梁炳川
您输入的密码为: 123qqq...A
View Code

优化后的代码:

[root@localhost untitled]# vim user.py
import getpass        # 导入getpass模块
username = input('请输入用户名: ')
password = getpass.getpass('请输入密码: ')
print('-' * 50)
print('您输入的用户名为: %s' % (username))
print('您输入的密码为: %s' % (password))

[root@localhost untitled]# python3 user.py
请输入用户名: 梁炳川
请输入密码: 
--------------------------------------------------
您输入的用户名为: 梁炳川
您输入的密码为: 123qqq...A
View Code

Shell也可以实现这个功能,代码如下:

#!/bin/bash
read -p "请输入用户名: " username
stty -echo
read -p "请输入密码: " password
stty echo
View Code

猜你喜欢

转载自www.cnblogs.com/liangbc/p/12635134.html