读写二进制文件
Python 不仅支持文本文件的读写,也支持二进制文件的读写,比如图片,声音文件等。
读取二进制文件
读取二进制文件使用 'rb' 模式。
这里以图片为例:
with open('test.png', 'rb') as f:
image_data = f.read() # image_data 是字节字符串格式的,而不是文本字符串
这里需要注意的是,在读取二进制数据时,返回的数据是字节字符串格式的,而不是文本字符串。一般情况下,我们可能会对它进行编码,比如 base64 编码,可以这样做:
import base64
with open('test.png', 'rb') as f:
image_data = f.read()
base64_data = base64.b64encode(image_data) # 使用 base64 编码
print base64_data
下面是执行结果的一部分:
iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACGFjVEw
写入二进制文件
写入二进制文件使用 'wb' 模式。
以图片为例:
with open('test.png', 'rb') as f:
image_data = f.read()
with open('/Users/ethan/test2.png', 'wb') as f:
f.write(image_data)
小结
- 读取二进制文件使用 'rb' 模式。
- 写入二进制文件使用 'wb' 模式。