学习视频地址:https://www.bilibili.com/video/BV1SE411N7Hi?p=43 作业地址:https://gitee.com/old_boy_education_python_28/teaching_plan/issues/I168BC 以下内容仅供自己学习使用 #!/usr/bin/env python # -*- coding:utf-8 -*- # 1.有如下文件,a1.txt,里面的内容为: # # 老男孩是最好的学校, # 全心全意为学生服务, # 只为学生未来,不为牟利。 # 我说的都是真的。哈哈 # 分别完成以下的功能: # a,将原文件全部读出来并打印。 # with open("a1.txt","r",encoding="utf-8") as f: # print(f.read()) # b,在原文件后面追加一行内容:信不信由你,反正我信了。 # with open("a1.txt","a+",encoding="utf-8") as f: # f.write("信不信由你,反正我信了") # c,将原文件全部清空,换成下面的内容: # # 每天坚持一点, # 每天努力一点, # 每天多思考一点, # 慢慢你会发现, # 你的进步越来越大。 # import os # with open("a2.txt","w",encoding="utf-8")as f1: # str='''每天坚持一点, # 每天努力一点, # 每天多思考一点, # 慢慢你会发现, # 你的进步越来越大。''' # f1.write(str) # os.rename("a1.txt","a1.txt.bak") # os.rename("a2.txt","a1.txt") # 2.有如下文件,t1.txt,里面的内容为: # # 葫芦娃,葫芦娃, # 一根藤上七个瓜 # 风吹雨打,都不怕, # 啦啦啦啦。 # 我可以算命,而且算的特别准: # 上面的内容你肯定是心里默唱出来的,对不对?哈哈 # 分别完成下面的功能: # a,以r的模式打开原文件,利用for循环遍历文件句柄。 # with open("t1.txt","r",encoding="utf-8")as f: # for i in f: # print (i) # b,以r模式读取‘葫芦娃,’前四个字符。 # f.seek(0) # print(f.read(4)) # c,以r模式读取第一行内容,并去除此行前后的空格,制表符,换行符。 # f.seek(0) # i=f.readline() # print(i.strip()) # d,以a+模式打开文件,先追加一行:‘老男孩教育’然后在从最开始将原内容全部读取出来。 # with open("t1.txt","a+",encoding="utf-8")as f: # f.write("老男孩教育") # f.seek(0) # print(f.read()) # # 3.文件a.txt内容:每一行内容分别为商品名字,价钱,个数。 (20分钟) # # apple 10 3 # tesla 100000 1 # mac 3000 2 # lenovo 30000 3 # chicken 10 3 # 通过代码,将其构建成这种数据类型:[{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......] 并计算出总价钱。 # l=list() # with open("a.txt","r",encoding="utf-8")as f: # for i in f: # j=i.strip().split(" ") # p = dict() # p.setdefault("name:",j[0]) # p.setdefault("price:",j[1]) # p.setdefault("amount:",j[2]) # l.append(p) # print(l) # sum=0 # for i in l: # print(i) # sum=sum+int(i["price:"]) # print ("sum:",sum) #--------------------------------老师这么写 # f=open("a.txt","r",encoding="utf-8") # # lst=[] # for i in f: # dic = {} # a,b,c=i.split() # dic["name"]=a # dic["price"]=b # dic["amout"]=c # #或者 # dic={"name":a,"price":b,"amount":c} # lst.append(dic)#append 的是dic的内存地址,如果没有每个循环新建dic,则所有的内容都一样 # print(lst) # 4.有如下文件: # # alex是老男孩python发起人,创建人。 # alex其实是人妖。 # 谁说alex是sb? # 你们真逗,alex再牛逼,也掩饰不住资深屌丝的气质。 # 将文件中所有的alex都替换成大写的SB(文件的改的操作)。 # import os # with open("b.txt","r",encoding="utf-8")as f,\ # open("c.txt","w",encoding="utf-8")as f1: # str=f.read() # str=str.replace("alex","sb") # f1.write(str) # os.rename("b.txt","b.txt.bak") # os.rename("c.txt","b.txt") # # 5.文件a2.txt内容,建议写的支持扩展 (35分钟) # # name:apple price:10 amount:3 year:2012 # name:tesla price:100000 amount:1 year:2013 # 通过代码,将其构建成这种数据类型: # [{'name':'apple','price':10,'amount':3,year:2012}, # {'name':'tesla','price':1000000,'amount':1}] # 并计算出总价钱。 # lst=[] with open("a2.txt","r",encoding="utf-8")as f: for i in f: dic={} for j in i.split(): a,b=j.split(":") dic.setdefault(a,b) lst.append(dic) print(lst) # 6.文件a1.txt内容,建议写的支持扩展 (40分钟) # str='''序号 部门 人数 平均年龄 备注 1 python 30 26 单身狗 2 Linux 26 30 没对象 3 运营部 20 24 女生多 ''' # with open("a1.txt","w",encoding="utf-8")as f: # f.write(str) # 通过代码,将其构建成这种数据类型: # [{'序号':'1','部门':Python,'人数':30,'平均年龄':26,'备注':'单身狗'}, # ......] l=[] with open("a1.txt","r",encoding="utf-8")as f: f.readline() for i in f: p=dict() i=i.split()#此处不能用i.split(" "),不能识别连续多个空格 p["序号"]=i[0] p["部门"]=i[1] p["人数"]=i[2] p["平均年龄"]=i[3] p["备注"]=i[4] l.append(p) print(l) #---------------------老师例子 f=open("a1.txt","r",encoding="utf-8") lst=[] f1=f.readline() a,b,c,d,e=f1.split() for i in f: a1,b1,c1,d1,e1=i.split() dic={a:a1,b:b1,c:c1,d:d1,e:e1} lst.append(dic) print(lst)
python学习-day6_作业(文件操作)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.