import sys,os,pymysql,time ,hashlib
from datetime import datetime
def Regist():
print("按提示信息进行账号注册:")
while True:
username=input("请输入您的用户名:")
s=tool.mySQL('user').Checkall('select * from users')
for i in s :
isfind=False
if username ==i[1]:
isfind=True
print('用户已存在请重新输入')
break
if isfind==False:
pwd1 = input("请输入您的密码:")
pwd2=input("确认您输入的密码:")
if pwd1==pwd2:
password = hashlib.sha1(pwd2.encode("utf-8")).hexdigest()
registerdate = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
email = input('请输入您的邮箱:')
tel = input('请输入您的手机号:')
tool.mySQL('user').Update("insert into users values(0,'%s','%s','%s','%s','%s')" % (
username, password, registerdate, email, tel))
print("恭喜!您已成功注册奇酷学生成绩管理系统,登陆试试看吧!")
break
else:
print('两次密码不一致,请重新输入')
continue
def Login():
while True:
username = input("请输入用户名:")
s = tool.mySQL('user').Checkall('select * from users')
for i in s:
isfind=False
if username == i[1]:
pwd = input('请输入密码:')
password = hashlib.sha1(pwd.encode("utf-8")).hexdigest()
if i[2] == password:
print('登录成功!!')
isfind=True
break
break
if isfind==False:
input('账号或密码错误...按任意键继续')
continue
class mySQL(object):
def __init__(self,dataname,host='localhost',port=3306,user='root',password='123456',charset='utf8'):
self.dataname=dataname
self.host=host
self.port=port
self.user=user
self.password=password
self.charset=charset
self.test=None
self.cursor=None
self.__connect()
def __connect(self):
try:
# self.test = pymysql.connect(host="localhost", port=3306, user="root", password="123456", database="shopping")
self.test = pymysql.connect( host=self.host, port=self.port, user=self.user, password=self.password,database=self.dataname, charset='utf8')
self.cursor = self.test.cursor()
except Exception as e:
print(e)
finally:
pass
def Checkone(self,checkstr,args=None):
try:
self.__connect()
row=self.cursor.execute(checkstr, args)
if row>0:
return self.cursor.fetchone()
else:
return ("单条查询失败")
except Exception as e:
print(e)
self.test.rollback()
finally:
self.__Close()
print("操作结束")
def Checkall(self,checkstr,args=None):
try:
self.__connect()
row=self.cursor.execute(checkstr, args)
if row>0:
return self.cursor.fetchall()
else:
return ("多条查询失败")
except Exception as e:
print(e)
finally:
self.__Close()
def Update(self,updatestr,args=None):
try:
self.__connect()
row=self.cursor.execute(updatestr, args)
self.test.commit()
if row>0:
return
else:
return
except Exception as e:
print(e)
finally:
self.__Close()
def __Close(self):
if self.cursor is not None:
self.cursor.close()
if self.test is not None:
self.test.close()
最后写一些简单的界面 调用各个函数即可