Python 不僅支持文本文件的讀寫,也支持二進制文件的讀寫,比如圖片,聲音文件等。
讀取二進制文件使用 'rb' 模式。
這里以圖片為例:
with open('test.png', 'rb') as f:
image_data = f.read() # image_data 是字節(jié)字符串格式的,而不是文本字符串
這里需要注意的是,在讀取二進制數(shù)據(jù)時,返回的數(shù)據(jù)是字節(jié)字符串格式的,而不是文本字符串。一般情況下,我們可能會對它進行編碼,比如 base64 編碼,可以這樣做:
import base64
with open('test.png', 'rb') as f:
image_data = f.read()
base64_data = base64.b64encode(image_data) # 使用 base64 編碼
print base64_data
下面是執(zhí)行結(jié)果的一部分:
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)