首页 > 代码库 > Python进阶篇:文件系统的操作
Python进阶篇:文件系统的操作
通过一个例子来熟悉文件的基本操作:创建文件,读取文件,修改文件,删除文件,重命名文件,判断文件是否存在
1 ‘‘‘ 2 编写可供查询的员工信息表--学号 姓名 年龄 班级 3 1. 提供格式化查询接口 4 2. 允许用户添加或者删除员工信息 5 ‘‘‘ 6 import os 7 employee_dir = ‘employee_list‘ 8 index=employee_dir+"/index" 9 10 11 if(not os.path.exists(employee_dir)): 12 os.mkdir(employee_dir,777) 13 14 def add_student(id,name,age,_class): 15 local_file = employee_dir+"/"+str(id) 16 if(os.path.isfile(local_file)): 17 print("id: %s 已经存在,请重新添加" %(id)) 18 else: 19 f=open(local_file,"w") 20 f.write(name+"\t"+str(age)+"\t"+_class) 21 f.close() 22 f=open(index,"a") 23 f.write(str(id)+"\t"+name+"\n") 24 f.close() 25 print("id=%s添加成功" %id) 26 27 def select_student(**kwargs): 28 for key in kwargs.keys(): 29 if(key==‘id‘): 30 local_file = employee_dir+"/"+str(kwargs[key]) 31 if(not os.path.isfile(local_file)): 32 print("不存在id:",kwargs[key]) 33 else: 34 f=open(local_file,"r") 35 print(kwargs[key],f.read()) 36 elif(key==‘name‘): 37 if(not os.path.isfile(index)): 38 print("不存在name:",kwargs[key]) 39 else: 40 i=0 41 f=open(index,"r") 42 for line in f.readlines(): 43 id,name = line.strip().split("\t") 44 if(name == kwargs[key]): 45 i=i+1 46 select_student(id=id) 47 if(i==0): 48 print("不存在name:",kwargs[key]) 49 else: 50 print("无效的获取方式,只能通过id和name来获取!") 51 52 53 def modify_student(id,name,age,_class): 54 local_file = employee_dir+"/"+str(id) 55 if(os.path.isfile(local_file)): 56 os.remove(local_file) 57 rm_line(index,id) 58 add_student(id,name,age,_class) 59 print("id=%s修改成功" %id) 60 else: 61 print("id: %s 不存在,请先添加" %(id)) 62 63 def delete_student(**kwargs): 64 for key in kwargs.keys(): 65 if(key==‘id‘): 66 local_file = employee_dir+"/"+str(kwargs[key]) 67 if(not os.path.isfile(local_file)): 68 print("不存在id:",kwargs[key],",无法删除") 69 else: 70 os.remove(local_file) 71 rm_line(index,kwargs[key]) 72 print("删除id=%s成功" %kwargs[key]) 73 elif(key==‘name‘): 74 if(not os.path.isfile(index)): 75 print("不存在name:",kwargs[key],",无法删除") 76 else: 77 i=0 78 f=open(index,"r") 79 for line in f.readlines(): 80 id,name = line.strip().split("\t") 81 if(name == kwargs[key]): 82 i=i+1 83 delete_student(id=id) 84 if(i==0): 85 print("不存在name:",kwargs[key],",无法删除") 86 else: 87 print("无效的删除方式,只能通过id和name来删除!") 88 89 def rm_line(file,id): 90 if(not os.path.isfile(file)): 91 print("不存在文件:",file) 92 else: 93 f= open(file,"r") 94 of = open(file+".tmp","w") 95 for line in f.readlines(): 96 localid,localname = line.strip().split("\t") 97 if(str(id)==localid): 98 pass 99 else:100 of.write(line,)101 f.close()102 of.close()103 if(os.path.isfile(file+".tmpt")): os.remove(file+".tmpt")104 os.rename(file,file+".tmpt")105 os.rename(file+".tmp",file)
Python进阶篇:文件系统的操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。