參考一兄弟寫的文章進行練習:http://www.javashuo.com/article/p-zfvxvdsf-ek.htmlpython
主要目的,熟悉文件列表的增、刪、改操做……git
# python 3.6 文件打開操做練習 # date:2017-12-26 # _*_ coding:utf-8 _*_ import os,sys def find(): find_name = input("請輸入要查詢的員工姓名:").strip().upper() flag=False with open("info.txt",'r',encoding='utf-8') as f1: for line in f1: if line.split()[0]==find_name: flag=True print("員工姓名:",find_name,"\t工資:",line.split()[1]) else: continue if not flag: print("未找到員工信息:\033[31;1m{_name}\033[1m".format(_name=find_name)) def modify(): flag = False mod_info1=input("請輸入要修改的員工姓名:").strip().upper() with open("info.txt", 'r', encoding='utf-8') as f1 , \ open("info_new", 'w', encoding='utf-8') as f2: for line in f1: if mod_info1 ==line.split()[0]: mod_info2 = input("請輸入修改後的工資:").strip() if not mod_info2.isdigit(): #判斷輸入是否爲數字 print("請輸入一個數字!!") sys.exit() #需等待完善優化,下同 else: f2.write(mod_info1+'\t'+mod_info2+'\n') flag = True else: f2.write(line) if os.path.exists('info_bak.txt'):os.remove("info_bak.txt") #若是存在則刪除 os.rename("info.txt","info_bak.txt") os.rename("info_new","info.txt") if flag: print("修改爲功") else: print("未找到員工信息:\033[31;1m{_name}\033[1m".format(_name=mod_info1)) def add(): flag = False add_info1 = input("請輸入要增長的員工姓名:").strip().upper() with open("info.txt", 'r', encoding='utf-8') as f1 : for line in f1: if add_info1 == line.split()[0]: flag = True else: continue if flag: print("員工\033[31;1m{_name}\033[1m信息已存在".format(_name=add_info1)) else: with open("info.txt", 'a', encoding='utf-8') as f2 : add_info2 = input("請輸入工資:").strip() if not add_info2.isdigit(): # 判斷輸入是否爲數字 print("請輸入一個數字!!") sys.exit() else: f2.write(add_info1 + '\t' + add_info2 + '\n') print("增長成功!!") def dele(): flag = False del_info1 = input("請輸入要刪除的員工姓名:").strip().upper() with open("info.txt",'r',encoding='utf-8') as f1 ,\ open('info_new','w',encoding='utf-8') as f2: for line in f1: if line.split()[0] == del_info1: flag=True continue else: f2.write(line) if os.path.exists('info_bak.txt'):os.remove("info_bak.txt") #若是存在則刪除 os.rename("info.txt","info_bak.txt") os.rename("info_new","info.txt") if flag: print("刪除成功!!") else: print("未找到員工信息:\033[31;1m{_name}\033[1m".format(_name=del_info1)) def main(): menu={ '1':find, '2':modify, '3':add, '4':dele, '5':exit } while True: print(""" 請選擇: 1,查詢員工信息 2,修改員工信息 3,增長員工信息 4,刪除員工信息 5,退出系統 """ ) choice=input('>>>>').strip() if choice in menu: menu[choice]() if __name__=="__main__": main()