这个删除,就是把所有的信息循环写入一遍,然后找出对应要删除的学生,不写入这个学生
def delete():
while True:
student_id = input('请输入要删除的学生的id:')
if student_id!= '' :
if os.path.exists(filename):
with open(filename,'r',encoding='utf-8') as file :
student_old = file.readlines()
else :
student_old = []
flag = False #标记是否删除
if student_old:
with open(filename , 'w' , encoding='utf-8') as wfile :
d={}
for item in student_old:
d = dict(eval(item)) #将字符串转成字典
if d['id'] != student_id:
wfile.write(str(d) + '\n')
else:
flag = True
if flag:
print(f'id为{student_id}的学生信息已经被删除')
else:
print(f'没有找到id为{student_id}的学生信息')
else:
print('无学生信息')
break
show()
answer = input('是否继续删除?y/n \n')
if answer == 'y' :
continue
else:
break