"""1,有如下文件,a1.txt,里面的内容为:
老男孩是最好的培训机构,
全心全意为学生服务,
只为学生未来,不为牟利。
我说的都是真的。哈哈
分别完成以下的功能:
a,将原文件全部读出来并打印。
f=open("a1.txt",mode="r",encoding="utf-8")
s=f.read()
print(s)
f.close()
b,在原文件后面追加一行内容:信不信由你,反正我信了。
这个是追加 code=”a+”append
f=open("a1.txt",mode="a+",encoding="utf-8")
s=f.write("信不信由你,反正我是信了")
print(s)
f.close()
c,将原文件全部读出来,并在后面添加一行内容:信不信由你,反正我信了。
f=open("a1.txt",mode="r+",encoding="utf-8")
s=f.read()
print(s)
s2=f.write("信不信由你,反正我是信了")
print(s2)
f.close()
d,将原文件全部清空,换成下面的内容:
f=open("a1.txt",mode="w",encoding="utf-8")
s3=f.write(每天坚持一点,
每天努力一点,
每天多思考一点,
慢慢你会发现,
你的进步越来越大)
f.flush()
print(s3)
f.close()
e,将原文件内容全部读取出来,并在‘我说的都是真的。哈哈’这一行的前面加一行,
‘你们就信吧~’然后将更改之后的新内容,写入到一个新文件:a1.txt。
2,有如下文件,t1.txt,里面的内容为:
葫芦娃,葫芦娃,
一根藤上七个瓜
风吹雨打,都不怕,
啦啦啦啦。
我可以算命,而且算的特别准:
上面的内容你肯定是心里默唱出来的,对不对?哈哈
分别完成下面的功能:
a,以r+的模式打开原文件,判断原文件是否可读,是否可写
可读可写0
f=open("t1.txt",mode="r+",encoding="utf-8")
s1=f.read()
print(s1)
s2=f.write("哈赛")
print(s2)
f.close()
b,以r的模式打开原文件,利用for循环遍历文件句柄。
f=open("t1.txt", mode="r", encoding="utf-8")
for line in f:
print(line.strip())
f.close()
c,以r的模式打开原文件,以readlines()方法读取出来,
并循环遍历 readlines(),
并分析b,与c 有什么区别?深入理解文件句柄与
readlines()结果的区别。
f=open("t1.txt", mode="r", encoding="utf-8")
s1=f.readline()
print(s1)
f.close()
b是全部读出来,有一些空格,去掉比较好,readlines 显示有 虽然是换行的意思,
但是还是有一些差别
d,以r模式读取‘葫芦娃,’前四个字符。
f=open("t1.txt", mode="r", encoding="utf-8")
s=f.read(4)
print(s)
f.close()
e,以r模式读取第一行内容,并去除此行前后的空格,制表符,换行符
f=open("t1.txt", mode="r", encoding="utf-8")
s=f.readline().strip()
print(s)
f.close()
,以r模式打开文件,从‘风吹雨打.....’开始读取,一直读到最后
f=open("t1.txt", mode="r", encoding="utf-8")
f.seek(49)
s=f.read()
print(s)
f.close()
g,以a+模式打开文件,先追加一行:
‘老男孩教育’然后在从最开始将 原内容全部读取出来。
f=open("t1.txt", mode="a+", encoding="utf-8")
s=f.write("老男孩教育")
f.seek(0)
s1=f.read()
f.close()
print(s1)
h,截取原文件,截取内容:‘葫芦娃,葫芦娃,
f=open("t1.txt", mode="a+", encoding="utf-8")
f.truncate(24)
f.close()
葫芦娃,葫芦娃,
3,文件a.txt内容:每一行内容分别为商品名字,价钱,个数。"""
lst=[]
money=0
with open("a.txt", mode="r", encoding="utf-8") as f:
frist =f.readline().strip().split(" ")
for line in f:
dic={}
ls=line.strip().split(" ")
print(ls)
for i in range(len(frist)):
dic[frist[i]] = ls[i]
lst.append(dic)
for a in lst:
money=money+int(a["price"])*int(a["amount"])
print(lst)
print(money)
文件操作
Open(“文件名”,mode=”r”,encoding=”utf-8”)
Mode:
R 只读
W 只写
A 追加
R+读写
W亵渎
A+ 追加写读
B 处理非文本文件
光标:
Seek(0)
Seek(0,2)
Tell()显示当前光标位置
Truncate ()阶段到()
R+ 深坑,无论你读取多少内容,写的时候写在最后.
文件修改
With open(“文件位置”,mode=”r+”,encoding) as f1
open(“文件位置_副本”,mode=”r+”,encoding) as f2
For line in f1:
Line=line.replace(“alex”,(sb))
F2.write(line)
Os.remove(“文件位置”)
Os.rename(“文件位置副本”,”文件位置”)