Python第三周作业--工资管理系统
工资管理系统
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 数据库文件
Alex 100000
Rain 80000
Egon 50000
Yuan 30000
hrms.py 运行文件
#!/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("请输入正确的选项")
相关文章