def visititems(self, func): """ Recursively visit names and objects in this group (HDF5 1.8). You supply a callable (function, method or callable object); it will be called exactly once for each link in this group and every group below it. Your callable must conform to the signature: func(<member name>, <object>) => <None or return value> Returning None continues iteration, returning anything else stops and immediately returns that value from the visit method. No particular order of iteration within groups is guranteed. Example: # Get a list of all datasets in the file >>> mylist = [] >>> def func(name, obj): ... if isinstance(obj, Dataset): ... mylist.append(name) ... >>> f = File('foo.hdf5') >>> f.visititems(func) """ def proxy(name): name = self._d(name) return func(name, self[name]) return h5o.visit(self.id, proxy)
def visit(self, func): """ Recursively visit all names in this group and subgroups (HDF5 1.8). You supply a callable (function, method or callable object); it will be called exactly once for each link in this group and every group below it. Your callable must conform to the signature: func(<member name>) => <None or return value> Returning None continues iteration, returning anything else stops and immediately returns that value from the visit method. No particular order of iteration within groups is guranteed. Example: >>> # List the entire contents of the file >>> f = File("foo.hdf5") >>> list_of_names = [] >>> f.visit(list_of_names.append) """ def proxy(name): return func(self._d(name)) return h5o.visit(self.id, proxy)