import pickle
import pickle class Base: def save(self,address): with open(address,'wb')as f:#wb 写入字符串 pickle.dump(self,f)#注意这里用self 代表实例化后的自身 class School(Base): def __init__(self): self.name=input('请输入新学校%s名字:'%i) self.addr=input('请输入学校%s地址:'%i) class Lesson(Base): def __init__(self,name,school): self.name=name self.school=school class Teacher(Base): def __init__(self,name,school,lesson): self.name=name self.school=school self.lesson=lesson msg='1.创建学校 ' '2.创建课程 ' '3.创建老师 ' '4.exit ' s_info=[] l_info=[] i,j,k=0,0,0 while True: print(msg) choice=input('请输入需要创建的内容:') if choice=='1': i=i+1 s_info.append(School()) s_info[i-1].save('school%s.db'%i) #保存在文档内 school_obj=pickle.load(open('school%s.db'%i,'rb')) print(i,school_obj.addr) elif choice=='2': j=j+1 lesson_name=input('请输入课程%s名称:'%j) if lesson_name=='python' or lesson_name=='linux': l1=Lesson(lesson_name,pickle.load(open('school1.db','rb'))) l1.save('lesson%s.db'%j) print(j,l1.school.addr) elif lesson_name=='go': l2=Lesson(lesson_name,pickle.load(open('school2.db','rb'))) l2.save('lesson%s.db'%j) print(j,l2.school.addr) else: print('只能创建python,linux,go三门课程') j=j-1 #如果输入错误j会自动+1,所以需要对j做修正 elif choice=='3': k=k+1 if k>2: print('只要2位老师') exit() else: teacher_name = input('请输入老师%s姓名:' % k) t = Teacher(teacher_name, pickle.load(open('school%s.db'%k,'rb')), pickle.load(open('lesson%s.db' % k, 'rb'))) t.save('teacher%s.db'%k) print(k,pickle.load(open('teacher%s.db'%k,'rb')).__dict__) elif choice=='4': print('game over') exit() else: print('请输入1,2,3,4 ')
》》》》》
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:1
请输入新学校1名字:newboy
请输入学校1地址:shanghai
1 shanghai
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:1
请输入新学校2名字:oldboy
请输入学校2地址:beijing
2 beijing
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:2
请输入课程1名称:python
1 shanghai
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:linux
请输入1,2,3,4
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:2
请输入课程2名称:linux
2 shanghai
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:2
请输入课程3名称:go
3 beijing
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:2
请输入课程4名称:ada
只能创建python,linux,go三门课程
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:3
请输入老师1姓名:sxj
1 {'name': 'sxj', 'school': <__main__.School object at 0x0388B6B0>, 'lesson': <__main__.Lesson object at 0x0388B730>}
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:3
请输入老师2姓名:zyk
2 {'name': 'zyk', 'school': <__main__.School object at 0x0388B5D0>, 'lesson': <__main__.Lesson object at 0x0388B650>}
1.创建学校
2.创建课程
3.创建老师
4.exit
请输入需要创建的内容:3
只要2位老师