python对文件的_python 对文件操作
#!/usr/bin/env python#-*- coding:utf-8 -*-
defFind(class_name):
class_list=[]
tag=False
with open(‘data‘, ‘r‘, encoding=‘utf8‘) as f:for line inf:if line.strip() == ‘班級:{0}班‘.format(class_name.strip()):
class_list.append(line)
tag=Truecontinue
if tag and line.find(‘班級:‘) !=0:
class_list.append(line)if line.find(‘班級:‘) ==0:
tag=Falsereturnclass_list;defAdd(dic):#{ ‘班級‘:‘191‘,‘學生‘:[{‘姓名‘:‘張三‘,‘學號‘:‘2018001‘,‘年齡‘:18,‘性別‘:‘男‘},{‘姓名‘:‘李四‘,‘學號‘:‘2018002‘,‘年齡‘:21,‘性別‘:‘男‘},{‘姓名‘:‘小花‘,‘學號‘:‘2018003‘,‘年齡‘:18,‘性別‘:‘女‘},{‘姓名‘:‘小紅‘,‘學號‘:‘2018004‘,‘年齡‘:33,‘性別‘:‘女‘}]}
class_obj =eval(dic)
class_name= class_obj[‘班級‘]
class_list=Find(class_name)if len(class_list) >0:print(‘系統中已經存在班級[%s]。‘ %(class_name))returnwith open(‘data‘, ‘a+‘, encoding=‘utf8‘) as f:
f.write(‘\n班級:%s班‘ %(class_name))for student in class_obj[‘學生‘]:
f.write(‘\n 姓名:{0} 學號:{1} 年齡:{2} 性別:{3}‘.format(student[‘姓名‘], student[‘學號‘], student[‘年齡‘],
student[‘性別‘]))print(‘添加成功!‘)defUpdate(dic):
class_obj=eval(dic)
class_name= class_obj[‘班級‘]
class_list=Find(class_name)if len(class_list) ==0:print(‘沒有查詢到該班級信息。‘)returnDelete(class_name)
Add(dic)print(‘更新成功!‘)defDelete(class_name):
class_list=Find(class_name)if len(class_list) ==0:print(‘沒有查詢到該班級信息。‘)returnclass_list=[]
tag=False
with open(‘data‘, ‘r‘, encoding=‘utf8‘) as old_file:for line inold_file:if line.strip() == ‘班級:{0}班‘.format(class_name.strip()):
tag=Truecontinue
else:if tag and line.find(‘班級:‘) !=0:continue
if line.find(‘班級:‘) ==0:
tag=False
class_list.append(line)
with open(‘data‘, ‘w‘, encoding=‘utf8‘) as new_file:for line inclass_list:
new_file.write(line)print(‘刪除成功!‘)if __name__ == ‘__main__‘:whileTrue:print(‘\n1、查詢 2、修改 3、添加 4、刪除‘)
operation= input(‘請輸入操作:‘)if (operation == ‘1‘):
class_name= input(‘請輸入查詢的班級名稱:‘)
class_list=Find(class_name)if len(class_list) ==0:print(‘沒有查詢到該班級信息。‘)else:for line inclass_list:print(line, end=‘‘)elif (operation == ‘2‘):
dic= input(‘請輸入修改的字典數據:‘)
Update(dic)elif (operation == ‘3‘):
dic= input(‘請輸入添加的字典數據:‘)
Add(dic)elif (operation == ‘4‘):
class_name= input(‘請輸入刪除的班級名稱:‘)
Delete(class_name)else:print("輸入不正確")
總結
以上是生活随笔為你收集整理的python对文件的_python 对文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php2588,搞清楚一下必胜2588z
- 下一篇: python 打印xml文档树_[Pyt