二进制文件

二进制文件读写

读取二进制文件使用 ‘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)
下一页