Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. #! /usr/bin/env python
  2.  
  3. import h5py
  4. import numpy
  5.  
  6. class HFile(object):
  7. def __init__(self, name, mode="w"):
  8. self.f = h5py.File(name, mode)
  9. self.attrs = self.f.attrs
  10.  
  11. def __setitem__(self, name, data):
  12. if not name in self.f:
  13. self.f.create_dataset(name, data=data, compression="gzip",
  14. compression_opts=9, shuffle=True,
  15. maxshape=data.shape)
  16. else:
  17. self.f[name].resize(data.shape)
  18. self.f[name][:] = data
  19.  
  20. def __getitem__(self, *args):
  21. return self.f.__getitem__(*args)
  22.  
  23. def close(self):
  24. self.f.close()
  25.  
  26. # open file
  27. fp = HFile("test.hdf", "w")
  28. dataset_name = "test_arr/0"
  29.  
  30. # create some data that has 100 elements
  31. data_100 = numpy.arange(0, 100)
  32.  
  33. # create some data that has 95 elements
  34. data_95 = numpy.arange(95 - 1, 0 - 1, -1)
  35.  
  36. # create a dataset
  37. # use maxshape to resize datasets
  38. fp[dataset_name] = data_100
  39. print fp[dataset_name][:]
  40.  
  41. # resize to smaller array shape
  42. fp[dataset_name] = data_95
  43. print fp[dataset_name][:]
  44.  
  45. # close
  46. fp.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement