实现效果:
从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
再见!
add_list=[] #print(add_list) modify_list=[] #print(modify_list) #f_file=open(‘info.txt‘,‘r+‘,encoding=‘utf-8‘) #f_add=f_file.readlines() while True: choice=input(" 1.查询员工工资 \n 2.修改员工工资 \n 3.增加新员工记录 \n 4.退出 \n 请选择>>") if choice==‘1‘: with open("info.txt", ‘r+‘, encoding="utf-8") as f: #做判断之前一定要先读出文件的内容,亲测否则只能判断1次 name_salary = f.readlines() account = input(‘请输入要查询的员工姓名(例如:Alex):‘) for i in name_salary: (name,salary)=i.strip(‘\n‘).split() if account==name or account in add_list: print(‘%s的工资是%s‘%(name,salary)) break else: print(‘用户不存在‘) elif choice==‘2‘: with open("info.txt", ‘r+‘, encoding="utf-8") as f: #做判断之前一定要先读出文件的内容,亲测否则只能判断1次 f_= f.readlines() old_name=input(‘输入要修改的员工名字:‘) for i in f_: (name,salary) = i.strip(‘\n‘).split() if old_name==name: modify_name,modify_salary=input(‘请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):‘).strip(‘\n‘).split() modify_list.append([modify_name,modify_salary])#为了解决文件打开的时候不能更新信息的问题,在内存里加个表格 print(modify_list) with open("info.txt", ‘w‘, encoding="utf-8") as f1: for item in f_: item=item.replace(salary,modify_salary) f1.write(item) print(‘修改成功‘) break else: print(‘用户不存在‘) elif choice==‘3‘: f=open(‘info.txt‘,‘r+‘,encoding=‘utf-8‘) f_add=f.readlines() add_name=input(‘输入要添加的用户名称:‘) for i in f_add: (name,salary) = i.strip(‘\n‘).split() if add_name==name or add_name in add_list: print(‘不能添加已经存在的用户‘) break else: append_name=input(‘请输入要增加的员工姓名和工资,使用空格分割(例如:Eric 100000):Eric 100000:‘).strip(‘\n‘) add_list.append(append_name) f.write(append_name) f.write(‘\n‘) f.flush() f.close() print(‘添加成功‘) print(add_list) pass elif choice==‘4‘: print(‘程序已退出‘) exit() else: print(‘无效选项‘)
add_list=[]
#print(add_list)
modify_list=[]
#print(modify_list)
#f_file=open(‘info.txt‘,‘r+‘,encoding=‘utf-8‘)
#f_add=f_file.readlines()
while True:
choice=input(" 1.查询员工工资 \n 2.修改员工工资 \n 3.增加新员工记录 \n 4.退出 \n 请选择>>")
if choice==‘1‘:
with open("info.txt", ‘r+‘, encoding="utf-8") as f: #做判断之前一定要先读出文件的内容,亲测否则只能判断1次
name_salary = f.readlines()
account = input(‘请输入要查询的员工姓名(例如:Alex):‘)
for i in name_salary:
(name,salary)=i.strip(‘\n‘).split()
if account==name or account in add_list:
print(‘%s的工资是%s‘%(name,salary))
break
else:
print(‘用户不存在‘)
elif choice==‘2‘:
with open("info.txt", ‘r+‘, encoding="utf-8") as f: #做判断之前一定要先读出文件的内容,亲测否则只能判断1次
f_= f.readlines()
old_name=input(‘输入要修改的员工名字:‘)
for i in f_:
(name,salary) = i.strip(‘\n‘).split()
if old_name==name:
modify_name,modify_salary=input(‘请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):‘).strip(‘\n‘).split()
modify_list.append([modify_name,modify_salary])#为了解决文件打开的时候不能更新信息的问题,在内存里加个表格
print(modify_list)
with open("info.txt", ‘w‘, encoding="utf-8") as f1:
for item in f_:
item=item.replace(salary,modify_salary)
f1.write(item)
print(‘修改成功‘)
break
else:
print(‘用户不存在‘)
elif choice==‘3‘:
f=open(‘info.txt‘,‘r+‘,encoding=‘utf-8‘)
f_add=f.readlines()
add_name=input(‘输入要添加的用户名称:‘)
for i in f_add:
(name,salary) = i.strip(‘\n‘).split()
if add_name==name or add_name in add_list:
print(‘不能添加已经存在的用户‘)
break
else:
append_name=input(‘请输入要增加的员工姓名和工资,使用空格分割(例如:Eric 100000):Eric 100000:‘).strip(‘\n‘)
add_list.append(append_name)
f.write(append_name)
f.write(‘\n‘)
f.flush()
f.close()
print(‘添加成功‘)
print(add_list)
pass
elif choice==‘4‘:
print(‘程序已退出‘)
exit()
else:
print(‘无效选项‘)