some hdf5 utilities

This commit is contained in:
Michael Krayer 2021-06-03 01:40:58 +02:00
parent fcd989b3f9
commit 928f3bcde9
2 changed files with 19 additions and 2 deletions

View File

@ -135,7 +135,7 @@ class Field3d:
def save(self,file,name='Field3d',truncate=False):
import h5py
is_open = isinstance(file,h5py.File)
is_open = isinstance(file,(h5py.File,h5py.Group))
flag = 'w' if truncate else 'a'
f = file if is_open else h5py.File(file,flag)
g = f.create_group(name)

View File

@ -64,4 +64,21 @@ def load_matv73(f,var,squeeze=True,cast_string=True,cast_integer=False):
squeeze=squeeze,
cast_string=cast_string,
cast_integer=cast_integer)
return d
return d
def h5write(file,arr,name='data',truncate=True):
import h5py
is_open = isinstance(file,(h5py.File,h5py.Group))
flag = 'w' if truncate else 'a'
f = file if is_open else h5py.File(file,flag)
f.create_dataset(name,data=arr)
if not is_open: f.close()
return
def h5read(file,name='data'):
import h5py
is_open = isinstance(file,(h5py.File,h5py.Group))
f = file if is_open else h5py.File(file,'r')
data = f[name][:]
if not is_open: f.close()
return data