回顾复习
我们上一期在Python 文件关闭流浅析里学习了文件的关闭,本期我们来详细学习文件的操作。
在学习之前,我们仍然回顾一下Python文件操作三步骤:
- 创建文件对象,打开文件
- 对文件进行读写等操作
- 文件操作完后,关闭文件
同时,我们也在Python 文件管理浅析中,知道文件分为文本文件和二进制文件
本期,我们来学习好玩的,读取、添加、删除等文件里面的内容。
我们在学习之前,再来回顾一下,打开文件模式。
模式 | 作用 |
---|---|
r | 打开的文件,默认只读权限 |
r+ | 打开的文件后,从开头开始读取 |
rb | 打开的二进制文件只具有只读权限 |
rb+ | 打开的二进制文件具有读写权限 |
w | 打开的文件具有只读权限(会清空文件原有内容) |
w+ | 打开的文件具有读写权限(会清空文件原有内容) |
wb | 打开的二进制文件只具有只写权限 |
wb+ | 打开的二进制文件具有读写权限 |
a | 打开的文件并在原有内容之后追加新内容 |
a+ | 打开的文件在原有内容之后追加新内容,且具有读写权限 |
ab | 打开的二进制文件在原有内容之后追加新内容 |
ab+ | 打开的二进制文件在原有内容之后追加新内容,且具有读写权限 |
学习了打开文件模式,我们调用open()函数方法就可以打开我们文件,然后进行接下来的操作啦
注意:我们调用了open函数打开文件,对文件进行操作完成后,我们要养成好习惯关闭文件哈
哪我们今天开启,正式的学习吧
1. 文本文件读写
我们在电脑目录下创建a.txt内容为
1.1 文本文件读取
打开文件模式具有读的有r,r+,w+,a+
文件的读取一般适用三个方法:
-
read([size])
- 从文件中读取size个字符,并作为结果返回,如果没有size参数,则读取整个文件。
- 读取到文件末尾,会返回空字符串
with open("a.txt") as f:
f.read(3)
-
readline()
读取一行内容作为结果返回,读取到的文件末尾,会返回空字符串
f = open("a.txt")
#读取一行数据
str = f.readline()
print(str)
f.close()
-
readlines()
文本文件中,每一行作为一个字符串存入列表中,返回该列表
f = open("a.txt",'rb')
str = f.readlines()
print(str)
f.close()
1.2 文本文件写入
我们在对文本文件写入的时候,打开文件具有写入模式的有 w,a,w+,a+ 四种模式
文本文件的写入一般有两个方法:
-
write()
向文件里写入指定内容
我们写入操作,打开文件模式a的话,是在文件内容后面追加新的写入内容
f = open("a.txt", 'a')
f.write("\n写入一行新数据")
f.close()
打开文件模式是w的话,是会先清空原有内容,再写入新的内容
f = open("a.txt", 'w')
f.write("写入第二行行新数据")
f.close()
-
writelines()
可以实现将字符串列表写入文件中
我们来看一个writelines()方法栗子
f = open('a.txt', 'r')
n = open('b.txt','w+') #b.txt文件是空的
n.writelines(f.readlines())
n.close()
f.close()
注意:写入函数只有 write() 和 writelines() 函数,而没有名为 writeline 的函数。
2. 二进制文件读写
二进制文件的处理流程和文本文件流程一致。
唯一的区别就是,打开二进制文件要加入b模式
主要步骤如下:
- 打开二进制文件例如:open("XX.jpg","rb")
- 创建文件对象
- 进行write、read操作
- 关闭二进制文件
我们来实现一个拷贝一张图片操作,来练习二进制文件读写操作
with open("BQ.jpg","rb") as f:
with open("BQ_copy.jpg","wb") as w:
for line in f.readlines():
w.write(line)
print("copy end")
总结
本期,我们详细学习和实操,文件读取和写入操作。在操作文件前打开文件的模式及区别。
在后续更好的对文件进行操作,打下夯实的基础。
以上是本期内容,欢迎大佬们指导点赞关注,下期见~