是否有可能不知道制作hdf5文件的结构,而该文件将是python 3.6中另一个文件的相同副本?

问题描述 投票:0回答:2

[如果我有一个hdf5文件f1.h5,并且想将此文件复制到另一个文件(例如f2.h5),但是我不知道f1.h5的结构,我想自动复制它,我可以使用h5py的一些技巧来做到这一点吗?

python-3.x hdf5
2个回答
0
投票

我不知道h5py,但是应该可以通过:

f1=open('f1.h5','rb')
f2=open('f2.h5','wb')

f2.write(f1.read())

您读取第一个文件的每个字节并将其写入第二个文件。诸如结构之类的东西都没有关系


0
投票

您可以使用.copy()方法将对象从f1.h5递归复制到f2.h5。您不需要了解架构:使用键在根级别访问组/数据集。如果源是一个Group对象,则默认情况下将递归复制该组中的所有对象。

import h5py
h5r=h5py.File("f1.h5", 'r')
with h5py.File("f2.h5", 'w') as h5w:
    for obj in h5r.keys():        
        h5r.copy(obj, h5w )       
h5r.close()
© www.soinside.com 2019 - 2024. All rights reserved.