Python实现用户名和密码登录
Python语言是目前非常流行的编程语言,其来自于荷兰的Guido van Rossum于1989年在阿姆斯特丹开发。Python语言具有简单易学,代码清晰简洁,易于维护等优点,已经成为眼下比较流行的编程语言。本文将介绍如何使用Python语言实现用户名和密码登录的功能。
1、创建MySQL数据库和数据表
MySQL是目前非常流行的数据库管理系统,是许多网站和应用程序的首选。本文使用MySQL数据库存储用户数据,创建一个名为user的数据表,包含4个字段:id、username、password、email。
CREATE TABLE user (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(50) NOT NULL,
password varchar(255) NOT NULL,
email varchar(50) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2、安装Python模块
本文使用Python 3.7版本,需要使用以下Python模块:pymysql和getpass。
pymysql模块是Python连接MySQL数据库的工具,使用pip install pymysql安装。
getpass模块是Python中的一个标准库模块,它使用Python缺省输入模式获取用户输入,使用pip install getpass安装。
3、Python代码实现
下面是Python代码实现用户名和密码登录功能。首先,需要导入需要的模块:
import pymysql
import getpass
接下来,定义数据库连接信息:
host = 'localhost'
port = 3306
user= 'root'
password = '123456'
database = 'test'
连接数据库,获取数据库操作对象:
conn = pymysql.connect(host=host, port=port, user=user, password=password, database=database)
cursor = conn.cursor()
定义一个User类,包含id、username、password和email属性:
class User:
id = 0
username = ''
password = ''
email = ''
定义登录函数,在函数中使用pymysql模块查询用户数据表,判断用户名和密码:
def login():
user = User()
username = input('请输入用户名:')
password = getpass.getpass(prompt='请输入密码:')
sql = "SELECT * FROM user WHERE username=%s AND password=%s"
cursor.execute(sql, (username, password))
data = cursor.fetchone()
if data:
user.id = data[0]
user.username = data[1]
user.password = data[2]
user.email = data[3]
print('登录成功!')
else:
print('登录失败:用户名或密码错误!')
最后,关闭数据库连接:
conn.close()
完整代码如下:
import pymysql
import getpass
host = 'localhost'
port = 3306
user = 'root'
password = '123456'
database = 'test'
conn = pymysql.connect(host=host, port=port, user=user, password=password, database=database)
cursor = conn.cursor()
class User:
id = 0
username = ''
password = ''
email = ''
def login():
user = User()
username = input('请输入用户名:')
password = getpass.getpass(prompt='请输入密码:')
sql = "SELECT * FROM user WHERE username=%s AND password=%s"
cursor.execute(sql, (username, password))
data = cursor.fetchone()
if data:
user.id = data[0]
user.username = data[1]
user.password = data[2]
user.email = data[3]
print('登录成功!')
else:
print('登录失败:用户名或密码错误!')
conn.close()
4、测试
正常运行Python代码后,可以输入正确的用户名和密码进行登录测试。
输入正确的用户名和密码:
请输入用户名:张三
请输入密码:
登录成功!
输入不存在的用户名:
请输入用户名:李四
请输入密码:
登录失败:用户名或密码错误!
输入错误的密码:
请输入用户名:张三
请输入密码:
登录失败:用户名或密码错误!
输入以上测试结果可以看出,该Python代码已经成功实现用户名和密码登录功能。
结论
通过本文的介绍和实现代码,我们可以了解到Python语言的MySQL连接及查询操作和getpass模块的使用方法,以及实现简单的用户名和密码登录功能的方法。通过Python实现用户名和密码登录功能的过程,对我们未来的Python开发工作具有极大的启发作用。
