Python学生管理系统
构思
学生管理系统 应该包含老师注册登录 管理学生信息(增删改查)还有数据持久化
因为数据存入JSON文件 增删改查都需要读取和修改文件
所以需要一个读写文件的方法文件 file_manager
密码加密可以用到哈希模块文件 tools
老师和学生的类文件 model
程序入口(主页)文件index
核心增删改查文件 student_manager
file_manager.py
"""
Project: ClassStudent
Creator: 猫猫
Create time: 2021-02-25 20:23
IDE: PyCharm
Introduction:https://blog.csdn.net/Cantevenl/article/details/115439530
"""
base_dir = 'files/' # 定义一个变量 文件路径
# 读文件的函数
def read_file(file_name):
try:
with open(base_dir + file_name, 'r', encoding='utf8') as file:
content = file.read()
return content
except FileNotFoundError:
print('文件未找到')
def write_json(file_name, data):
with open(base_dir + file_name, 'w', encoding='utf8') as file:
import json
json.dump(data, file)
def read_json(file_name, default_data):
try:
with open(base_dir + file_name, 'r', encoding='utf8') as file:
import json
return json.load(file)
except FileNotFoundError:
# print('文件未找到')
return default_data
tools.py
"""
Project: ClassStudent
Creator: 猫猫
Create time: 2021-02-25 20:24
IDE: PyCharm
Introduction:https://blog.csdn.net/Cantevenl/article/details/115439530
"""
# 加密密码
import hashlib
def encrypt_password(passwd, x='zhumaogouniu'):
h = hashlib.sha256()
h.update(passwd.encode('utf8'))
h.update(x.encode('utf8'))
return h.hexdigest()
model.py
"""
Project: ClassStudent
Creator: 猫猫
Create time: 2021-02-25 20:24
IDE: PyCharm
Introduction:https://blog.csdn.net/Cantevenl/article/details/115439530
"""
# 创建一个老师对象
class Teacher(object):
def __init__(self, name, password):
import tools
self.name = name
self.password = tools.encrypt_password(password)
class Student(object):
def __init__(self, s_id, name, age, gender, tel):
self.s_id = s_id
self.name = name
self.age = age
self.gender = gender
self.tel = tel
index.py
"""
Project: ClassStudent
Creator: 猫猫
Create time: 2021-02-25 20:25
IDE: PyCharm
Introduction:https://blog.csdn.net/Cantevenl/article/details/115439530
"""
import sys
import file_manager # 导入自己写的读取文件模块
import model
import student_manager
def register():
# 读取文件,查看文件里是否有数据。如果文件不存在,默认是一个字典
data = file_manager.read_json('data.json', {
})
while True:
teacher_name = input('请输入账号(3~6位):')
if not 2 <= len(teacher_name) <= 6:
print('账号不符合要求,请重新输入!')
else:
break
if teacher_name