生死簿管理系统
代码
"""
生死簿管理系统
"""
import os
import timefile_name = 'data.txt'def main():while True:main_menu()choice = (int)(input("请选择: "))if choice in [0, 1, 2, 3, 4, 5, 6, 7]:if choice == 0:answer = input("确定要退出生死簿系统吗?y/n ")if answer.lower() == 'y':print("已退出!!!")breakelse:continueelif choice == 1:add()passelif choice == 2:passelif choice == 3:delete()passelif choice == 4:passelif choice == 5:passelif choice == 6:passelif choice == 7:passelse:print("")def main_menu():print("=============================生死簿管理系统=============================")print("-----------------------------功能菜单-----------------------------")print("1.录入人员")print("2.查找人员")print("3.删除人员")print("4.修改人员")print("5.排序")print("6.统计总人数")print("7.查询所有")print("0.退出")print("----------------------------------------------------------------")def add():person = {}while True:person_id = input("请输入人员ID: ")if not id:print("id不能为空")continueelse:person["id"] = person_idbreakwhile True:name = input("请输入人员姓名: ")if not name:print("id不能为空")continueelse:person["name"] = namebreakwhile True:num = input("请输入人员阳寿: ")if not num:print("阳寿不能为空")continueelse:person["num"] = numbreak# 保存数据save_data(person)# 是否继续添加s = input("是否继续添加人员?y/n ")if s.lower() == 'y':add()else:main()passdef save_data(person):print("数据保存中。。。")try:# 追加file_stream = open(file_name, 'a', encoding="utf-8")except Exception as e:# 写入file_stream = open(file_name, 'w', encoding="utf-8")print("数据保存成功。。。")# 写入 数据状态person['yn'] = 1# 创建时间person['create_time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())file_stream.write(str(person) + "\n")# 关闭文件file_stream.close()passdef search():passdef delete():while True:person_id = input("请输入要删除的人员ID:")person_list = []if person_id != '' and person_id is not None:if os.path.exists(file_name):with open(file_name, 'r', encoding="utf-8") as file:person_list = file.readlines()else:pass# 定义是否被删除del_flag = Falseif person_list:# w模式会清空内容with open(file_name, 'w', encoding="utf-8") as wfile:for item in person_list:# 转为dict类型d = dict(eval(item))if d['id'] != person_id:wfile.write(str(d) + "\n")else:del_flag = Trueif del_flag:print(f"ID为{person_id}的人员已删除!!!")else:print(f'ID为{person_id}的人员不存在!!!')else:print(f'ID为{person_id}的人员不存在!!!')breakquery_all()while True:answer = input("是否继续删除?y/n ")if answer == '' or answer is None:continueelse:breakif answer.lower() == 'y':continueelse:breakelse:print("ID不能为空")passdef modify():passdef sort():passdef total():passdef query_all():passif __name__ == '__main__':main()
打包可执行文件
pip3 install PyInstallerpyinstaller -F /Users/kw/kwzone/Python/code/python-hello/实操篇/BookOfLifeAndDeath/bookmgr.py