实现如下功能:
#!/usr/bin/env python3 # Author:zhangyang # --*-- coding: utf-8 --*-- import os def file_test(): with open("The salary management", 'r+', encoding="utf-8") as f: file=list(f) #str-->list return file#['Alex 100000 ', 'Rain 80000 ', 'Egon 50000 ', 'Yuan 30000 '] # file_test() def server(): #启动服务窗口 for i in range(1): print("1.查询员工工资 2.修改员工工资 3.增加新员工记录 4.退出") return i #进入主程序 while 1: print('-----Welcome to the payroll management system-----') server() number=input('请选择你的服务:') if number.isdigit(): number=int(number) file=file_test() #文件内容 if number>0 and number<5: #查询功能 if number==1: print('---欢迎进入查询界面---') name=input('请输入要查询的员工姓名:').strip() for i in file: file=i.strip().split() #file=['Alex','100000'] if name in file: #如果输入的名字在文件中有 break for i in file: if name in file: salary = file[1] print('%s的工资是:%s'%(name,salary)) break else: print('没有此用户!') #修改功能 elif number == 2: print('---欢迎进入修改界面---') name_old = input('请输入你要修改的员工姓名:') for i in file: #遍历这个文件 #['Alex 100000'] file=i.strip().split() #字符串转为list-->file=['Alex','100000'] if name_old in file: #如果在输入的姓名在文件中 print(file) salary_old=file[1] #记录这个员工未修改的工资 print('目前%s的工资是:%s'%(name_old,salary_old)) name_alter,salary_alter=input('请输入你要修改员工的姓名和工资,用空格分割:').strip().split() #接受两个变量 #打开文件读取 with open("The salary management", 'r', encoding="utf-8")as f , open("The salary management.bak", 'w', encoding="utf-8")as f_a: lines=f.readlines() for line in lines: #line=['Alex 10000'] if name_old and salary_old in line: #['Alex', '100000'] #print(line) line=line.replace(line,(name_alter+' '+salary_alter)+' ') #print(line) f_a.write(line) os.remove('The salary management') os.rename('The salary management.bak','The salary management') print('修改成功!') break else:print('无此用户,请重试...') #增加功能 elif number==3: print('---欢迎进入增加界面---') try: #判断参数数量 name_new,salary_new=input('请输入你要新增员工的姓名和工资金额(格式:员工 金额):').strip().split() except ValueError: #如果错误的话,执行这一句 print('输入的参数不够,请重试!!') else: #如果正确执行下面语句 if name_new.isalpha() and salary_new.isdigit(): for i in file: file=i.strip().split() if name_new not in file: with open("The salary management", 'a+', encoding="utf-8") as f_b: f_b.write("%s %s" % (name_new,salary_new)) print('新增成功!') break else:print('新增内容数据类型不对,请重新输入!') #退出功能 elif number == 4: print('