def search(): student_query = [] while True: id = "" name = "" if os.path.exists(filename): mode = input('按ID查找请输入1,按姓名查找请输入2') if mode == '1': id = input("请输入学生id:") elif mode == '2': name = input("请输入学生姓名:") else: print("您的输入有误,请重新输入") search() with open(filename, 'r', encoding='utf-8') as rfile: student = rfile.readlines() for item in student: d = dict(eval(item)) if id != '': if d['id'] == id: student_query.append(d) elif name != '': if d['name'] == name: student_query.append(d) # 显示查询结果 show_student(student_query) # 清空列表 student_query.clear() answer = input("是否要继续查询y/n\n") if answer == 'y': continue elif answer == 'n': break else: print("暂未保存学生信息!!!")
时间: 2024-02-10 21:24:58 浏览: 82
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
这段代码是一个查询学生信息的函数。它通过循环让用户选择按照学生ID还是姓名进行查询。然后打开存储学生信息的文件,逐行读取文件内容,并将每行内容转换为字典。根据用户选择的查询方式,将符合条件的学生信息添加到查询结果列表中。最后显示查询结果,清空查询结果列表,并询问用户是否继续查询。如果回答是,则继续循环,否则退出循环。如果找不到保存学生信息的文件,会显示相应的提示信息。
阅读全文