python - 如何在 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
是否有任何类型的序列化格式已经实现了这一点?如果存在已经处理此问题的成熟且维护良好的库,那么我更喜欢这个而不是手动滚动我自己的解决方案。
解决方案
推荐阅读
- node.js - Mongoose:如何通过 ObjectId 更新数组中对象的值?
- c# - 如何读取文本文件而不锁定磁盘上的文件?
- mysql - 从类别表和其他两个表中获取名称
- r - 向 ggplot Boxplot 添加附加点
- java - org.omg.CORBA.ORBPackage.InvalidName: IDL:omg.org/CORBA/ORB/InvalidName:1.0
- python - 如何在 Python 中动态更改日志文件输出
- linux - Ubuntu 20.04 在访问 NTFS 分区上的某些文件时挂起
- logging - 如何停止 LTPA 令牌 SystemOut.log 中重复出现错误消息
- c - 超出最大递归深度。堆栈溢出异常
- c++ - 将地址清理程序与 MSVC 一起使用时应用程序崩溃