1 bin文件夹 二进制文件、代码程序 2 conf 配置文件 3 帮助文档 4 头文件库文件等
二 学生选课系统部分代码 未完待续
1 包内的__init__.py文件 在包下的脚本内 导入包内 的其他包下的文件也叫模块,在2.7下导入没有__init__.py 会报错。在3.5有没有这个文件以后没有影响了。 讲解: 1 老师类 : 需要有添加时间 加工资 减工资 2 管理员类: 封装管理员用户名密码
bin 目录
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import os, sys, pickle 4 5 sys.path.append(os.path.dirname(os.path.dirname(__file__))) 6 from lib.models import * 7 from conf import settings 8 9 10 def create_curriculum(admin_obj): 11 curriculum_list = [] 12 if os.path.exists(settings.Teacher_dir): 13 teacher_show = pickle.load(open(settings.Teacher_dir, "rb")) 14 for i, item in enumerate(teacher_show, 1): # 从1开始 15 print(i, item.teacher_name) 16 while True: 17 curriculum_name = input("请输入课程名(q退出):") 18 if curriculum_name == "q": 19 break 20 curriculum_cost = input("请输入费用:") 21 curriculum_teacher = input("请输入老师编号:") 22 curriculum_obj = Curriculum(curriculum_name, curriculum_cost, 23 teacher_show[int(curriculum_teacher) - 1].teacher_name, admin_obj) 24 curriculum_list.append(curriculum_obj) 25 if os.path.exists(settings.Curriculum_dir): 26 exist_curriculum = pickle.load(open(settings.Curriculum_dir, "rb")) 27 curriculum_list.append(exist_curriculum) 28 pickle.dump(curriculum_list, open(settings.Curriculum_dir, "wb")) 29 else: 30 print("还没有老师请先创建老师") 31 32 33 def create_teacher(admin_obj): 34 teacher_list = [] 35 while True: 36 name = input("教师名字:(q退出)") 37 if name == "q": 38 break 39 age = input("年龄") 40 teacher_obj = Teacher(name, age, admin_obj) # 创建老师 41 teacher_list.append(teacher_obj) 42 if os.path.exists(settings.Teacher_dir): 43 exists_teacher = pickle.load(open(settings.Teacher_dir, "rb")) 44 teacher_list.extend(exists_teacher) 45 pickle.dump(teacher_list, open(settings.Teacher_dir, "wb")) 46 47 48 def login(user, pwd): 49 path = os.path.join(settings.Base_admin_dir, user) # 用户名创建一个路径 50 if os.path.exists(path): # 判断路径是否存在,存在就是说明用户正确。 51 admin_obj = pickle.load(open(path, "rb")) # 获取用户名对应的对象。 52 if admin_obj.login(user, pwd): # 执行这个对象的登陆方法 53 print("登录成功") 54 while True: 55 inp = input("1、创建课程。2、创建老师(其他退出)\n>>>") 56 if inp == "1": 57 create_curriculum(admin_obj) 58 continue 59 elif inp == "2": 60 create_teacher(admin_obj) 61 continue 62 else: 63 break 64 else: 65 print("密码错误") 66 else: 67 print("账号不存在") 68 69 70 def register(user, pwd): 71 admin_obj = Admin() 72 if admin_obj.register(user, pwd): 73 print("管理员注册成功") 74 else: 75 print("管理员已存在") 76 77 78 def main(): 79 inp = input("管理员1、登陆。2、注册。(其他退出)\n>>>") 80 user = input("账号:") 81 pwd = input("密码:") 82 if inp == "1": 83 login(user, pwd) 84 elif inp == "2": 85 register(user, pwd) 86 else: 87 pass 88 89 90 if __name__ == "__main__": 91 main()