把字典写入文本,再读出
其他
2019-03-06 11:45:22
阅读次数: 0
class Student():
count=0
def init(self,name,age,address):
self.name=name
self.age=age
self.address=address
Student.count+=1
def say (self):
print(self.name,self.age,self.address)
zs=Student(‘张三’,18,‘北京’)
f=open(‘a.txt’,‘w’)
f.write(str(Student.count))
zd=dict(name=zs.name,age=zs.age,address=zs.address)
f.write(’:’)
f.write(str(zd))
f.write(’\n’)
ze=Student(‘张二’,28,‘上海’)
f.write(str(Student.count))
zd=dict(name=ze.name,age=ze.age,address=ze.address)
f.write(’:’)
f.write(str(zd))
f.write(’\n’)
zd=Student(‘张大’,38,‘北京’)
f.write(str(Student.count))
zd=dict(name=zd.name,age=zd.age,address=zd.address)
f.write(’:’)
f.write(str(zd))
f.close()
f=open(‘a.txt’,‘r’)
line=f.readline()#读文件第一行数据
obj=[]
while len(line)>0:
dzd=eval(line[2:].strip(’\n’))#此处如果是2:-1,最后一行没有\n会导致数据不完整
print(dzd)
x=Student(dzd[‘name’],dzd[‘age’],‘中国’+dzd[‘address’])
obj.append(x)
line=f.readline()
f.close()
print(obj)
for x in obj:
x.say()
转载自blog.csdn.net/YPL_ZML/article/details/88045906