Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- import h5py
- import numpy
- class HFile(object):
- def __init__(self, name, mode="w"):
- self.f = h5py.File(name, mode)
- self.attrs = self.f.attrs
- def __setitem__(self, name, data):
- if not name in self.f:
- self.f.create_dataset(name, data=data, compression="gzip",
- compression_opts=9, shuffle=True,
- maxshape=data.shape)
- else:
- self.f[name].resize(data.shape)
- self.f[name][:] = data
- def __getitem__(self, *args):
- return self.f.__getitem__(*args)
- def close(self):
- self.f.close()
- # open file
- fp = HFile("test.hdf", "w")
- dataset_name = "test_arr/0"
- # create some data that has 100 elements
- data_100 = numpy.arange(0, 100)
- # create some data that has 95 elements
- data_95 = numpy.arange(95 - 1, 0 - 1, -1)
- # create a dataset
- # use maxshape to resize datasets
- fp[dataset_name] = data_100
- print fp[dataset_name][:]
- # resize to smaller array shape
- fp[dataset_name] = data_95
- print fp[dataset_name][:]
- # close
- fp.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement