工資管理系統 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("請輸入正確的選項")