文件相关操作

"""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(“文件位置副本”,”文件位置”)



原文地址:https://www.cnblogs.com/zzy7372/p/9436372.html