要实现不受大小限制的读取文件数据,可以使用以下代码示例:
def read_file(file_path):
with open(file_path, 'rb') as file:
chunk_size = 1024 # 每次读取的块大小
data = b'' # 存储读取的数据
while True:
chunk = file.read(chunk_size)
if not chunk:
break
data += chunk
return data
在上述代码中,read_file
函数接受一个文件路径作为参数,并使用 open
函数以二进制模式打开文件。然后,使用一个循环来读取文件的数据块,每次读取 chunk_size
(这里设定为 1024)个字节大小的数据。读取的数据块通过 +=
运算符追加到 data
变量中。
循环会一直进行,直到读取到文件末尾(chunk
为空)。最后,函数返回存储在 data
中的完整文件数据。
注意,这种方法适用于小型文件和中型文件。对于非常大的文件,由于内存限制,可能需要采用其他方法,例如逐行读取或使用缓冲区。