* Added simple tools to read/write values to/from a HDF5 file.

master
Wirawan Purwanto 10 years ago
parent b7f1cbaa5c
commit a3add89f5a
  1. 64
      iofmt/hdf5.py

@ -0,0 +1,64 @@
#
# wpylib.iofmt.hdf5 module
# Created: 20150401
# Wirawan Purwanto
#
"""
HDF5 binary format support, using h5py.
"""
import h5py
import numpy
import sys
# Quickie functions
def hdf5_read_value(filename, key):
"""Single-value read action from a file.
Raises KeyError if the item does not exist.
"""
F = h5py.File(filename, 'r')
try:
val = F[key].value
except KeyError:
F.close()
raise
F.close()
return val
def hdf5_write_value(filename, key, value):
"""Single-value write action from a file.
Overwrites the existing value, if it exists.
Raises an exception upon error.
"""
F = h5py.File(filename, 'a')
try:
if key in F:
del F[key]
F[key] = value
except:
F.close()
raise
F.close()
def hdf5_write_values(filename, keyvals):
"""Multiple-value write action to a file.
The key-value pairs are specified as a dict.
Overwrites the existing value, if it exists.
Raises an exception upon error.
"""
F = h5py.File(filename, 'a')
try:
for (key,value) in keyvals.iteritems():
if key in F:
del F[key]
F[key] = value
except:
F.close()
raise
F.close()
Loading…
Cancel
Save