【发布时间】:2015-10-15 22:02:58
【问题描述】:
我需要实现的是使用cloudstorage 库将文件列表连接到一个文件中。这需要在 mapreduce 分片内进行,该分片的内存上限为 512MB,但连接的文件可能大于 512MB。
当文件大小达到内存限制时,以下代码段会中断。
list_of_files = [...]
with cloudstorage.open(filename...) as file_handler:
for a in list_of_files:
with cloudstorage.open(a) as f:
file_handler.write(f.read())
有没有办法解决这个问题?也许以块的形式打开或附加文件?以及如何做到这一点?谢谢!
== 编辑 ==
经过一些测试,内存限制似乎只适用于f.read(),而写入大文件是可以的。分块读取文件解决了我的问题,但我真的很喜欢@Ian-Lewis 指出的compose() 函数。谢谢!
【问题讨论】:
标签: python file append google-cloud-storage cloud-storage