首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在h5py中检查节点是否是链接?

如何在h5py中检查节点是否是链接?
EN

Stack Overflow用户
提问于 2016-07-21 06:28:09
回答 2查看 361关注 0票数 4

如何知道节点是SoftLinkHardLink还是ExternalLink

例如,为fh = h5py.File('test.h5')/soft_link提供一个SoftLink,我尝试了type(fh['soft_link']),结果显示它属于Group类型,与常规的Group节点相同。

顺便说一下,fh.visititems似乎没有访问Link节点,我可以理解这可以避免两次访问SoftLinkHardLink的目标节点,但是为什么ExternalLink也被忽略了呢?

EN

回答 2

Stack Overflow用户

发布于 2020-12-16 19:36:48

虽然有点晚,但对某些人来说可能是有用的。实际上,当前版本的h5py支持它(我不知道以前是不是这样)。

实际上,这很简单:

代码语言:javascript
复制
is_soft_link = isinstance(fh.get('soft_link', getlink=True), h5py.SoftLink)

对于其他情况,只需将h5py.SoftLink替换为h5py.HardLinkh5py.ExternalLink即可。

票数 2
EN

Stack Overflow用户

发布于 2020-12-17 05:17:26

我不确定在h5py中如何做到这一点,但是,如果您没有绑定到特定库,可以在HDFql中按如下方式完成

代码语言:javascript
复制
HDFql.execute("SHOW TYPE my_dataset")

HDFql.cursor_next()

type = HDFql.cursor_get_int()

if (type & HDFql.SOFT_LINK):
   print('IT IS A SOFT LINK')
elif (type & HDFql.EXTERNAL_LINK):
   print('IT IS AN EXTERNAL LINK')
else:
   print('IT IS A HARD LINK')

有关更多信息,请查看HDFql reference manual中的6.7.7部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38491902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档