Module H5G
Low-level HDF5 “H5G” group interface.
Functional API
-
h5py.h5g.open(ObjectID loc, STRING name) → GroupID
- Open an existing HDF5 group, attached to some other group.
-
h5py.h5g.create(ObjectID loc, STRING name or None, PropLCID lcpl=None, PropGCID gcpl=None) → GroupID
- Create a new group, under a given parent group. If name is None,
an anonymous group will be created in the file.
-
h5py.h5g.iterate(GroupID loc, CALLABLE func, UINT startidx=0, **kwds) → Return value from func
Iterate a callable (function, method or callable object) over the
members of a group. Your callable should have the signature:
func(STRING name) => Result
Returning None continues iteration; returning anything else aborts
iteration and returns that value. Keywords:
- STRING obj_name (“.”)
- Iterate over this subgroup instead
-
h5py.h5g.get_objinfo(ObjectID obj, STRING name='.', BOOL follow_link=True) → GroupStat object
Obtain information about a named object. If “name” is provided,
“obj” is taken to be a GroupID object containing the target.
The return value is a GroupStat object; see that class’s docstring
for a description of its attributes.
If follow_link is True (default) and the object is a symbolic link,
the information returned describes its target. Otherwise the
information describes the link itself.
-
class h5py.h5g.GroupStat
Represents the H5G_stat_t structure containing group member info.
Fields (read-only):
- fileno: 2-tuple uniquely identifying the current file
- objno: 2-tuple uniquely identifying this object
- nlink: Number of hard links to this object
- mtime: Modification time of this object
- linklen: Length of the symbolic link name, or 0 if not a link.
“Uniquely identifying” means unique among currently open files,
not universally unique.
- Hashable: Yes
- Equality: Yes
Group objects
-
class h5py.h5g.GroupID
Represents an HDF5 group identifier
Python extensions:
- __contains__
- Test for group member (“if name in grpid”)
- __iter__
- Get an iterator over member names
- __len__
- Number of members in this group; len(grpid) = N
If HDF5 1.8.X is used, the attribute “links” contains a proxy object
providing access to the H5L family of routines. See the docs
for h5py.h5l.LinkProxy for more information.
- Hashable: Yes, unless anonymous
- Equality: True HDF5 identity unless anonymous
- Retrieve the comment for a group member.
-
get_linkval(STRING name) → STRING link_value
- Retrieve the value (target name) of a symbolic link.
Limited to 2048 characters on Windows.
-
get_num_objs() → INT number_of_objects
- Get the number of objects directly attached to a given group.
-
get_objname_by_idx(INT idx) → STRING
Get the name of a group member given its zero-based index.
Due to a limitation of the HDF5 library, the generic exception
H5Error is raised if the idx parameter is out-of-range.
-
get_objtype_by_idx(INT idx) → INT object_type_code
Get the type of an object attached to a group, given its zero-based
index. Possible return values are:
Due to a limitation of the HDF5 library, the generic exception
H5Error is raised if the idx parameter is out-of-range.
-
link(STRING current_name, STRING new_name, INT link_type=LINK_HARD, GroupID remote=None)
Create a new hard or soft link. current_name identifies
the link target (object the link will point to). The new link is
identified by new_name and (optionally) another group “remote”.
Link types are:
- LINK_HARD
- Hard link to existing object (default)
- LINK_SOFT
- Symbolic link; link target need not exist.
-
move(STRING current_name, STRING new_name, GroupID remote=None)
- Relink an object. current_name identifies the object.
new_name and (optionally) another group “remote” determine
where it should be moved.
- Set the comment on a group member.
-
unlink(STRING name)
- Remove a link to an object from this group.
Module constants
Object type codes
-
h5py.h5g.LINK
- Symbolic link
-
h5py.h5g.GROUP
- HDF5 group
-
h5py.h5g.DATASET
- HDF5 dataset
-
h5py.h5g.TYPE
- Named (file-resident) datatype
Link type codes
-
h5py.h5g.LINK_HARD
-
h5py.h5g.LINK_SOFT