工资管理系统 Alex 100000 Rain 80000 Egon 50000 Yuan 30000 -----以上是info.txt文件----- 实现效果: 从info.txt文件中读取员工及其工资信息,最后将修改或增长的员工工资信息也写入原info.txt文件。 效果演示: 1. 查询员工工资 2. 修改员工工资 3. 增长新员工记录 4. 退出 >>:1 请输入要查询的员工姓名(例如:Alex):Alex Alex的工资是:100000。 1. 查询员工工资 2. 修改员工工资 3. 增长新员工记录 4. 退出 >>:2 请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):Alex 10 修改为功! 1. 查询员工工资 2. 修改员工工资 3. 增长新员工记录 4. 退出 >>:3 请输入要增长的员工姓名和工资,共空格分割(例如:Eric 100000):Eric 100000 增长成功! 1. 查询员工工资 2. 修改员工工资 3. 增长新员工记录 4. 退出 >>:4 再见!
info.txt 数据库文件python
Alex 100000 Rain 80000 Egon 50000 Yuan 30000
hrms.py 运行文件git
#!/use/bin/env python # -*- coding:utf-8 -*- import os def select(): # 查询员工工资 with open("info.txt", "r", encoding="utf-8") as f: fsb = f.readlines() user_choice = input("请输入你要查询的员工姓名:") for line in fsb: if user_choice.split()[0] in line.split()[0]: print(user_choice, "的工资是:",line.split()[1]) def update(): # 修改员工工资 user_choice_1 = input("请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):").strip() with open("info.txt", "r", encoding="utf-8") as f,open("info.bak", "w", encoding="utf-8") as f1: for user_list in f: if user_list=="\n": # 判断文本中有空行的话直接跳过 continue if user_choice_1.split()[0] in user_list.split()[0]: #判断输入的员工是否在文本中 user_list = user_list.replace(user_list.split()[1], user_choice_1.split()[1]) # 修改员工工资 f1.write(user_list)# info.txt文本内容已经从新写入info.bak f.close()# 关闭f f1.close()# 关闭f1 os.remove("info.txt")# 删除info.txt文件 os.rename("info.bak","info.txt")# 把info.bak文本从新命名为info.txt print("修改为功") def add(): # 添加新员工 user_add = input("请输入要增长的员工姓名和工资(例如:Eric 100000):") with open("info.txt", "a", encoding="utf-8") as f: # f.seek(0) f.write('\n' + user_add) print("添加成功") def delete(): # 删除员工 user_choice = input("请输入要删除的员工姓名:").strip() with open("info.txt", "r", encoding="utf-8") as f, open("info.bak", "w", encoding="utf-8") as f1: for user_list in f: if user_list =="\n": # 判断文本中有空行的话直接跳过 continue if user_choice in user_list.split()[0]: # 判断输入的员工是否在文本中 continue # 直接跳过输入的用户,这样也至关于删除了 f1.write(user_list) # 输入的用户直接跳过了,因此不会加载到文本中 f.close() # 关闭f f1.close() # 关闭f1 os.remove("info.txt") # 删除info.txt文件 os.rename("info.bak", "info.txt") # 把info.bak文本从新命名为info.txt print("删除成功") while True: user_chioce = ''' 1.查询员工工资 2.修改员工工资 3.增长新员工记录 4.删除员工 5.退出 ''' print(user_chioce) user_choice = input("请输入你的选择:") if user_choice.isdigit(): # 判断输入的是否数字类型 if user_choice == '1': select() # 查询 elif user_choice == '2': update() # 修改 elif user_choice == '3': add() # 添加 elif user_choice == '4': delete() # 删除 elif user_choice == '5': exit() # 退出 else: print("请输入正确的选项") else: print("请输入正确的选项")