返回介绍

5.2 组的基本原理

发布于 2024-01-25 22:02:55 字数 1681 浏览 0 评论 0 收藏 0

本章的内容里,哪怕你别的都忘了,这个一定要记住:组几乎就像字典一样工作。这个抽象比喻有几个漏洞,但是基本上是正确的。组可以迭代,且拥有Python字典API的一个子集。

让我们给我们的文件添加几个对象,后续的例子里会用到:

5.2.1 字典风格的访问

你应该已经从上面的group[name] = object的格式猜到了。只要提供一个名字,你就可以访问组内的对象:

和普通Python字典不同,你还可以使用POSIX风格的路径直接访问子组里的对象,而不需要打开所有的中间组:

试图访问空组会抛出KeyError,不过h5py的一个讨厌之处是你没法在异常里面获得缺失对象的名字:

如果你不希望抛出异常,还可以用熟悉的get方法:

你可以获取一个组的长度。注意它返回了组内直接包含的对象数量,这不包括嵌套子组内的对象:

你还可以用熟悉的iteritems()函数族进行Python风格的迭代(见60页,迭代和容器)。

5.2.2 特殊属性

处理文件中的层次结构时,组和数据集有一些小装置非常有用。

首先是每个对象都有的.file属性。它以非常方便的形式返回你对象所在的File对象:

当你需要检查文件是否可读/可写或仅仅是需要知道文件名时尤其有用。

第二个是.parent属性。它返回包含你对象的那个Group对象:

有了这两个属性,你可以避免大多数麻烦的文件系统路径格式的问题。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文