parent
b7f1cbaa5c
commit
a3add89f5a
1 changed files with 64 additions and 0 deletions
@ -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…
Reference in new issue