以下是一个示例的解决方法,使用Python的read()和write()方法来按块读写文件:
def copy_file(source_file, destination_file, chunk_size):
with open(source_file, 'rb') as source:
with open(destination_file, 'wb') as destination:
while True:
chunk = source.read(chunk_size)
if not chunk:
break
destination.write(chunk)
在这个示例中,我们定义了一个名为copy_file()的函数,它接受三个参数:source_file(源文件的路径),destination_file(目标文件的路径)和chunk_size(块大小)。
我们使用with open()语句打开源文件和目标文件,将它们分别赋值给source和destination变量。通过指定'rb'和'wb'标志来分别以二进制模式打开源文件和目标文件。
然后,我们进入一个无限循环,使用source.read(chunk_size)方法从源文件读取块大小的数据。如果读取的块为空,说明已经到达文件的末尾,我们使用break语句退出循环。
否则,我们使用destination.write(chunk)方法将读取的块写入目标文件。
最后,当循环结束时,我们使用with open()语句关闭源文件和目标文件,确保资源的正确释放。
你可以根据自己的需求调整块大小(chunk_size)的值。较大的块大小可能会提高读写效率,但也会占用更多的内存。