工资管理系统
Readme文件:
| -----------------------------| | 程序名称:工资管理系统程序 | | -----------------------------| 细节功能: 1.根据用户名查询工资数额 2.新增用户及工资 3.根据用户名对工资数额进行修改 4.根据用户名删除用户及工资条目记录 5.上述所有操作均记录于文件中,每次操作记录结果均为最后一次结果进行保存 -------------------------------------------------------------------------------- 程序运行: 1. 运行前需要info.txt文件存在(即用户名、工资所存储的文件) 2. new_info.txt是以临时文件存在(即用户操作过程中会产生临时转换数据) 3. 直接运行Salary_system.py程序即可 4. 如果想手工修改info.txt,请注意格式保持正确(用户名 + 空格 +工资) -------------------------------------------------------------------------------- ####################################### 作者:王承祥 联系方式1:13552310609 联系方式2:dslmoon@163.com 我的博客:https://www.cnblogs.com/wangcx #######################################
info.txt文件:
Tom 34 Kathy 90 George 100 dd 22 55 55 00 100
new_info.txt文件(默认为空,此处略):
Salary_system(主程序):
# -*-coding:utf-8-*- # _Author_:George #导入支持系统特性的模块 import sys,os #用户工资信息文件 filename = "info.txt" #过程操作临时文件 new_filename = "new_info.txt" #用户名与工资字典 info_dict = {} #初始化用户工资信息 def info(): with open(filename,"r") as f: for i in f: if not i.startswith("\n"): i = i.strip() info_dict[i.split(" ")[0]]=i.split(" ")[1] #查询函数 def select(): while True: info() user_info = input("\033[35;1m查询\033[0m请输入【姓名】:").strip() if user_info in info_dict.keys(): print("\033[34;1m%s\033[0m的工资是:\033[31;1m%s\033[0m" %(user_info,info_dict[user_info])) if user_info == "b": break if user_info not in info_dict.keys(): print("\n\033[34;1m%s\033[0m用户不存在请重新输入,或[按'\033[31;1mb\033[0m'返回]\n" %user_info) #新增函数 def insert(): while True: info() user_info = input("\033[35;1m新增\033[0m【姓名 工资】以空格隔开:").strip() user_list = user_info.split(" ") if user_list[0] == "" or user_list[0] == "\n" or len(user_list) is not 2: print("\033[31;1m请正确输入信息...\033[0m") continue if user_list[0] not in info_dict.keys(): user_info = "\n" + user_info with open(filename,"a+") as f: f.write(user_info) print("\033[34;1m%s\033[0m用户添加成功!" % user_list[0]) break if user_info == "b": break if user_list[0] in info_dict.keys(): print("\n\033[34;1m%s\033[0m用户已存在请重新输入,或[按'\033[31;1mb\033[0m'返回]\n" %user_list[0]) # 修改函数 def update(): while True: info() user_info = input("\033[35;1m修改\033[0m请输入【姓名 工资】:").strip() user_list = user_info.split(' ') if user_list[0] in info_dict.keys(): with open(filename, 'r') as f1, \ open(new_filename, 'w') as f2: for i in f1: if i.strip().split(" ")[0] == user_list[0] or i.startswith("\n"): continue f2.write(i) with open(new_filename,"a+") as f3: f3.write("\n"+user_info.strip()) print("\033[34;1m%s\033[0m用户修改成功!" % user_list[0]) os.remove(filename) os.rename(new_filename,filename) if user_info == "b": break if user_list[0] not in info_dict.keys(): print("\n\033[34;1m%s\033[0m用户不存在请重新输入,或[按'\033[31;1mb\033[0m'返回]\n" %user_list[0]) #删除函数 def delete(): while True: info() user_info = input("\033[35;1m删除\033[0m请输入【姓名】:") user_list = user_info.split(' ') if user_list[0] in info_dict.keys(): with open(filename, 'r') as f1, \ open(new_filename, 'w') as f2: for i in f1: if i.strip().split(" ")[0] == user_list[0] or i.startswith("\n"): continue f2.write(i) print("\033[34;1m%s\033[0m用户删除成功!" % user_list[0]) os.remove(filename) os.rename(new_filename, filename) if user_info == "b": break if user_list[0] not in info_dict.keys(): print("\n\033[34;1m%s\033[0m用户不存在请重新输入,或[按'\033[31;1mb\033[0m'返回]\n" % user_list[0]) choose_msg = ''' 【1】: 查询 【2】: 新增 【3】: 修改 【4】: 删除 【5】: 退出 ''' salary = { '1':select, '2':insert, '3':update, '4':delete, '5':sys.exit, } while True: print(choose_msg) choose = input("请输入操作选项:").strip() if choose not in salary.keys(): continue salary[choose]()
师傅说赶路要紧