Python能对文本文件(txt,doc,html,xml...)和二进制文件(图片,视频,音频...)进行只读和只写操作,下面就分为两个方面来讲解一下。
一、文本文件的只读和只写操作
首先是文件读写的代码格式:open('文件路径+文件名', '读写模式');
然后是打开文本文件的方法,主要有三种:
- r :以只读的方式发开文件,默认模式,文件的指针会放在文件"开头"位置,如果文件不存在会报错,只读模式
- w :以只写的方式发开文件,文件的指针会放在文件"开头"位置,所写入的内容会覆盖已有内容,文件不存在会自动创建新文件,只写模式
- a :以只写的方式发开文件,文件的指针会放在文件"结尾"位置,所写入的内容不会覆盖已有内容,文件不存在会自动创建新文件,追加模式
最后通过上面的方法来操作一遍:
f = open('files/a.txt', 'r') # 这里a.txt是相对路径,也就是与本文件统计目录下的文件
# 2.读写操作
content = f.read()
print(content)
# f.write('123456') # 报错:r模式只能读取不能写入
# w模式写入的文本会覆盖原有全部文本内容
# a模式写入的时候会从文本内容的结尾进行追加写入
# 3.关闭文件
f.close()
二、二进制文件的只读和只写操作
二进制文件需要增加b:表示以二进制的格式对文件进行操作,如果是二进制文件就选择此项(rb,wb,ab)(图片,视频,音频...)
# 1.打开123.jpg文件,读取内容,获取内容前半部分
f = open('files/123.jpg', 'rb')
content = f.read()
# print(content)
f.close()
# 2.打开另一个文件321.jpg,把上面读取的一般内容写入到其中
f = open('files/321.jpg', 'wb')
content = content[0: len(content) // 2]
f.write(content)
f.close()