删除或更新 HDF5 中的数据集?
我想以编程方式更改与 HDF5 文件中的数据集关联的数据。 我似乎找不到一种方法来按名称删除数据集(允许我使用修改后的数据再次添加它)或按名称更新数据集。 我正在使用 HDF5 1.6.x 的 C API,但指向任何 HDF5 API 的指针都会很有用。
I would like to programatically change the data associated with a dataset in an HDF5 file. I can't seem to find a way to either delete a dataset by name (allowing me to add it again with the modified data) or update a dataset by name. I'm using the C API for HDF5 1.6.x but pointers towards any HDF5 API would be useful.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据用户指南:
如此简单的删除似乎是不可能的。 但本节继续:
According to the user guide:
So simple deletion appears to be out of the question. But the section continues:
如果你想在c++中删除一个数据集,你需要以下命令:
如果成功,结果将是一个非负值; 否则返回负值。 https://support.hdfgroup.org/HDF5/doc/ RM/RM_H5L.html#Link-Delete
正如@MaxLybbert所说,硬盘空间没有被回收。 您必须使用重新打包工具。
但是,使用 HDF5 v.1.10 可以恢复空间。 但用户指南尚未准备好: https://support.hdfgroup.org/HDF5 /docNewFeatures/NewFeaturesFileSpaceMgmtDocs.html
If you want to delete a dataset in c++ you need the following commands:
result will be a non-negative value if successful; otherwise returns a negative value. https://support.hdfgroup.org/HDF5/doc/RM/RM_H5L.html#Link-Delete
As @MaxLybbert said, the hard-disk space it is not recoverd. You must use the repack tool.
However, with HDF5 v.1.10 the space can be recovered. But the user's guide is not ready yet: https://support.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesFileSpaceMgmtDocs.html