python和h5_如何在Python中多次写入和追加h5文件?

我尝试用以下方式将数据集写入h5文件:fpath = 'path-to-/data.h5'

with h5py.File(fpath,'w') as hf:

hf.create_dataset('a', data=a)

然后我用相同的代码在文件中附加更多的数据:

^{pr2}$

对于第二个操作(append),我得到以下错误:OSError: Unable to create file (unable to open file: name = 'path-to-/data.h5',

errno = 2, error message = 'Aucun fichier ou dossier de ce type',

flags = 13, o_flags = 242)

当我检查目录时,文件path-to-/data.h5存在,但是没有附加的数据集(用list(hf.keys())检查)。在

为了完成所有这些工作,目前我正在一步一步地编写所有内容,而不是使用with语句(如问题EDIThere)中所建议的那样。在hf = h5py.File(fpath,'w')

hf.create_dataset('a', data=a)

dset = hf.create_dataset('b',(nrow,1),maxshape=(nrow,None),chunks=(nrow,1))

for i in range(ncol):

dset[:,-1:] = b

if i+1 < ncol:

dset.resize(dset.shape[1]+1,axis=1)

hf.close()

在这里,如果我删除写入的文件并再次运行代码,它将给出与上面相同的错误,并且它只在我更改文件名(例如“data_1.h5”)时运行。我不理解这一部分,因为我预期操作h5py.File(fpath,'w')将独立于文件的存在或不存在。在

总而言之,我发现让代码工作的唯一方法是使用第二种方法(write without append),并且不要更改生成的文件(重命名或移动)。在

我找不到它here,但是有没有一种方法可以强制写入并附加到h5文件,而不管它是否存在或以前的调用?在

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值