选课系统作业(只做了管理员)
只做了管理员界面,先运行bin里面shiyan创建管理员账号和密码再运行star.py

shiyan.py
# 创建初始管理员账户 import os,sys,json BaseDir=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0,BaseDir) from conf import settings admin_dic={"user":"wxy","password":"1234"} path=os.path.join(settings.ADMIN_BASEDIR,"w") json.dump(admin_dic,open(path,"w"))
star.py
1 import os,sys,json 2 3 4 user_format={"username_format_data":None,"authenticated_status":False} 5 user_data_status=user_format 6 BaseDir=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 7 sys.path.insert(0,BaseDir) 8 9 from core import main 10 11 def run(): 12 main.interface() 13 if __name__=="__main__": 14 run()
settings.py
1 import sys,os 2 3 Base_Dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 4 5 SCHOOL_BASEDIR=os.path.join(Base_Dir,"data","School_data") 6 CLASS_BASEDIR=os.path.join(Base_Dir,"data","Class_data") 7 ADMIN_BASEDIR=os.path.join(Base_Dir,"data","admin_data") 8 STUDENT_BASEDIR=os.path.join(Base_Dir,"data","Student_data") 9 TEACHER_BASEDIR=os.path.join(Base_Dir,"data","Teacher_data")
1 import os,sys,uuid,pickle 2 from conf import settings 3 4 # 创建学校对象 5 class school_obj(object): 6 # self.name保存输入的学校名 7 # self.nid是随机生成的uuid为了后面文件保存防止文件名重名 8 def __init__(self,name,school_adress): 9 self.name=name 10 self.nid=str(uuid.uuid1()) 11 def __str__(self): 12 return self.name 13 14 # uuid生成唯一文件名保存到data里面的School_data文件夹 15 def school_save(self): 16 with open(os.path.join(settings.SCHOOL_BASEDIR,self.nid),"wb") as f: 17 pickle.dump(self,f) 18 f.close() 19 #直接查看并获得Scholl_data里面保存的所有学校对象 20 @staticmethod 21 def get_all(): 22 school_obj_list={} 23 for item in os.listdir(os.path.join(settings.Base_Dir,"data","School_data")): 24 school_obj_item=pickle.load(open(os.path.join(settings.SCHOOL_BASEDIR,item),"rb")) 25 school_obj_list.append(school_obj_item) 26 27 return school_obj_list 28 29 # 直接查看并获得Scholl_data里面保存的所有学校对象名字 30 @staticmethod 31 def get_all_name(): 32 school_obj_list=[] 33 for item in os.listdir(os.path.join(settings.Base_Dir,"data","School_data")): 34 school_obj_item=pickle.load(open(os.path.join(settings.SCHOOL_BASEDIR,item),"rb")) 35 school_obj_list.append(school_obj_item.name) 36 37 return school_obj_list 38 39 class class_obj(object): 40 41 def __init__(self,name,class_to_school): 42 self.name=name 43 self.nid=str(uuid.uuid1()) 44 # 将common_func过来的class_to_school也就是班级所关联的学校uuid获得 45 for item in os.listdir(os.path.join(settings.Base_Dir,"data","School_data")): 46 item_obj=pickle.load(open(os.path.join(settings.SCHOOL_BASEDIR,item),"rb")) 47 if item_obj.name==class_to_school: 48 school_uuid=item 49 self.schooluuid=school_uuid 50 def class_save(self): 51 with open(os.path.join(settings.CLASS_BASEDIR,self.nid),"wb") as f: 52 pickle.dump(self,f) 53 f.close() 54 @staticmethod 55 def get_all(): 56 class_obj_list=[] 57 for item in os.listdir(os.path.join(settings.Base_Dir,"data","Class_data")): 58 class_obj_item=pickle.load(open(os.path.join(settings.CLASS_BASEDIR,item),"rb")) 59 class_obj_list.append(class_obj_item) 60 61 return class_obj_list 62 @staticmethod 63 def get_all_name(): 64 class_obj_list=[] 65 for item in os.listdir(os.path.join(settings.Base_Dir,"data","Class_data")): 66 class_obj_item=pickle.load(open(os.path.join(settings.CLASS_BASEDIR,item),"rb")) 67 class_obj_list.append(class_obj_item.name) 68 69 return class_obj_list 70 71 class teacher_obj(object): 72 73 def __init__(self,name,teacher_to_class): 74 self.name=name 75 self.nid=str(uuid.uuid1()) 76 # 获得老师对应班级对象 77 for item in os.listdir(os.path.join(settings.Base_Dir,"data","Class_data")): 78 item_obj=pickle.load(open(os.path.join(settings.CLASS_BASEDIR,item),"rb")) 79 if item_obj.name==teacher_to_class: 80 item_classobj=item_obj 81 self.Teacher_to_classobj=item_classobj 82 83 def teacher_save(self): 84 with open(os.path.join(settings.TEACHER_BASEDIR,self.nid),"wb") as f: 85 pickle.dump(self,f) 86 f.close() 87 88 @staticmethod 89 def get_all(): 90 teacher_obj_list=[] 91 for item in os.listdir(os.path.join(settings.Base_Dir,"data","Teacher_data")): 92 teacher_obj_item=pickle.load(open(os.path.join(settings.TEACHER_BASEDIR,item),"rb")) 93 teacher_obj_list.append(teacher_obj_item) 94 95 return teacher_obj_list
1 from core import all_obj 2 3 def Create_school_information(): 4 5 schoolname_input = input("学校名称:").strip() 6 schooladress_input = input("学校地址:").strip() 7 schoolobj = all_obj.school_obj(schoolname_input, schooladress_input) 8 schoolobj.school_save() 9 10 def Create_class_information(): 11 classname_input=input("班级名称:").strip() 12 allschool=all_obj.school_obj.get_all_name() 13 print("学校有:{}".format(allschool)) 14 class_to_school=input("请输入班级所在学校:").strip() 15 classobj=all_obj.class_obj(classname_input,class_to_school) 16 classobj.class_save() 17 18 def Create_teacher_information(): 19 teachername_input=input("请输入老师名称:").strip() 20 allclass=all_obj.class_obj.get_all_name() 21 print("目前班级有:{}".format(allclass)) 22 teacher_to_class=input("请输入老师所属班级:").strip() 23 teacherobj=all_obj.teacher_obj(teachername_input,teacher_to_class) 24 teacherobj.teacher_save()

浙公网安备 33010602011771号