标签:格式不正确 文件 uga update python env 用户 values like
有以下员工信息表
当然此表你在文件存储时可以这样表示
1
|
1 ,Alex Li, 22 , 13651054608 ,IT, 2013 - 04 - 01 |
现需要对这个员工信息文件,实现增删改查操作
注意:以上需求,要充分使用函数,请尽你的最大限度来减少重复代码!
yuangong文件
1,Alex Li,22,13651054608,IT,2013-04-01
2,Jack Wang,30,13304320533,HR,2015-05-03
3,Rain Liu,25,13832353221,Sales,2016-04-22
4,Mack Cao,40,13561453431,HR,2009-03-01
5,lzd,112,13912985190,IT,2019-1-1
代码如下:
# !/usr/bin/env python # -*- coding:utf-8 -*- # Author:lzd #创建字典 list=dict() #将文件导入到字典 with open(‘yuangong‘,‘r‘,encoding=‘utf-8‘) as f: for i in f: j=i.split(‘,‘,1) list[j[0]]=j[1].strip().split(‘,‘) #print(list) #每次操作完毕都引用装饰器函数保存下文件 def baocun(func): def warpper(*args,**kwargs): func() with open(‘yuangong‘, ‘w‘, encoding=‘utf-8‘) as f: for i in list: f.write(i+‘,‘+‘,‘.join(list[i])+‘\n‘) print(‘文件保存成功!\n‘) return warpper def chaxun(): while True: # for i in list: # print(i,list[i]) print(""" 1、岁数 2、部门 3、入职年份 4、退出 """) tmpchaxun = input("请输入你想操作的步骤?直接输入数字即可。\n") if tmpchaxun==‘1‘ : tmpsuishu=input("请输入年龄,下面显示大于该年龄的员工:\n") numm=0 if tmpsuishu.isdigit(): for i in list: if int(list[i][1])>int(tmpsuishu): print(list[i][0],list[i][1]) numm=numm+1 print("大于%s岁数一共有%s个人"%(tmpsuishu, numm)) else: print(‘年龄需要输入数字的,请重新输入\n‘) elif tmpchaxun==‘2‘ : tmpbumen=input(‘请输入部门名称,下面显示该部门的所有员工:\n‘) numm=0 for i in list: if list[i][3] == tmpbumen: print(list[i]) numm=numm+1 print("该%s部门一共有%s个人"%(tmpbumen,numm)) elif tmpchaxun==‘3‘ : tmpriqi=input(‘请输入员工入职年份,下面显示该年份的所有员工:\n‘) numm=0 if tmpriqi.isdigit(): for i in list: if tmpriqi in list[i][4]: print(list[i]) numm=numm+1 print("该%s年一共有%s个人" %(tmpriqi, numm)) else: print(‘年份需要输入数字的,请重新输入\n‘) elif tmpchaxun==‘4‘: break else: print(‘请输入正确的数字。谢谢!\n‘) @baocun def chuangjian(): while True: tmpxinxi = input(‘请输入员工的“姓名/年龄/手机号码/部门/入职时间” ,请用/来间隔\n‘) xinxi=tmpxinxi.split(‘/‘) if len(xinxi) != 5: print(‘输入的格式不正确请重新输入\n‘) continue elif xinxi[2].isdigit(): for kk in list.values(): if xinxi[2] in kk: print("手机号码重复啦~请重新输入!\n") break else: tmpid=str(int(sorted(list)[-1])+1) list[tmpid]=xinxi print(‘用户添加完毕!\n‘) break else: print(‘手机号码输入错误~!\n‘) #print(list) @baocun def shanchu(): #print(‘shanchu‘) while True: # for i in list: # print(i,list[i]) tmpshanchu=input(‘请输入你想删除的人员id号,退出请直接输入q\n‘) if tmpshanchu in list: del list[tmpshanchu] print(‘删除人员%s成功\n‘%tmpshanchu) elif tmpshanchu==‘q‘: break else: print(‘找不到这个人的id啊?你是不是输入错误了?\n‘) @baocun def xiugai(): #print(‘xiugai‘) while True: # for i in list: # print(i,list[i]) tmpxiugai=input(‘请输入你想修改部门的名称,比如你想修改Market的人员变成IT部门,那么直接输入Market/IT,退出输入q\n‘) if tmpxiugai==‘q‘: break bumen=tmpxiugai.split(‘/‘) if len(bumen) !=2: print("输入格式不正确,请重新输入\n") continue else: for i in list: if bumen[0] == list[i][3]: list[i][3]=bumen[1] print(‘部门修改完毕~!\n‘) while True: print(""" 1、查询 2、创建 3、删除 4、修改 5、退出 """) choosedic={1:chaxun,2:chuangjian,3:shanchu,4:xiugai} userchoose=int(input("请输入你想操作的步骤?直接输入数字即可。\n")) if userchoose in choosedic: choosedic[userchoose]() elif userchoose==5: exit() else: print(‘请输入正确的数字\n‘)
标签:格式不正确 文件 uga update python env 用户 values like
原文地址:http://www.cnblogs.com/itfat/p/7475384.html