首页 > 解决方案 > 如何在 Python 中将数组存储在磁盘上,以便在不加载整个文件的情况下访问特定元素?

问题描述

我想在本地或 GCS 或 S3 上以一种易于检索它们的切片而不将整个文件加载到内存中的格式存储大型类似数组的文件。无论它们存储在哪里,都可以通过类似 python 文件的对象(例如,使用tf.io.gfile.GFile)轻松访问它们,该对象支持查找文件中的特定点并检索文件的特定块. 此外,这些阵列具有相同形状的元素。

更具体地说,我希望能够执行以下操作:

with openAsArray(file,  schemaOfEachElement, 'r') as f:
  print(f[1:10]) # return elements from 1 to 10 of array

是否有任何类型的序列化格式已经实现了这一点?如果存在已经处理此问题的成熟且维护良好的库,那么我更喜欢这个而不是手动滚动我自己的解决方案。

标签: pythonfileserializationfile-format

解决方案


推荐阅读