使用Python的open()函数读取二进制文件时,只读取了文件的一部分

when using Python's open() function to read a binary file, only part of the file is read

我正在尝试使用 python 中的 open() 函数从 jpg 文件中读取数据。由于某种原因,一些文件数据正在丢失。这是我尝试过的:

file = open(imageDir, 'r')
data = file.read()
print data

当我尝试将数据重新写入新文件时,新文件已损坏。

对二进制文件使用'rb'。另外,我建议您不要使用 dir 作为实际的文件名;并使用上下文语法进行读取操作。

with file = open(filename, 'rb')
     data = file.read()

你应该像这样以二进制模式打开文件

file = open(dir, 'rb')

默认以文本模式打开