【问题标题】:How can I use directory paths as names for HDF5 groups?如何使用目录路径作为 HDF5 组的名称?
【发布时间】:2019-11-29 14:48:03
【问题描述】:

我正在尝试创建一个函数,它:
打开一个目录
读取所有文件
执行一些计算
将结果写入 HDF5 文件

问题:
对于每个目录,我想创建一个 HDF5 组。然而,

with h5py.File(/home/usr/example/myFile.h5) as h5:
    dir_i_am currently_reading = '/home/usr/files/'
    group = h5.create_group(dir_i_am currently_reading)

没有按预期工作。我希望组名是 dir_path。我怎样才能做到这一点?

【问题讨论】:

  • 问题是目录名分隔符(/)也用作HDF5组名分隔符。所以你的目录路径:/home/usr/files/ 看起来像一个带有子组的组,就像 h5py 命名法中的这样:h5['home']['usr']['files']。那是你要的吗?如果不是,您将不得不将 / 替换为另一个字符(例如 _)以创建为 h5.create_group('_home_usr_files')

标签: python hdf5


【解决方案1】:

如果HDFql 是您的选择,您的问题可以在 Python 中按如下方式解决:

import HDFql

dir_i_am_currently_reading = "/home/usr/files"

HDFql.execute("CREATE GROUP /home/usr/example/myFile.h5 %s" % dir_i_am_currently_reading)

有关如何使用 HDFql 创建组的其他示例可以在 quick start guidereference manual 中找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2010-11-28
    • 1970-01-01
    相关资源
    最近更新 更多