用来快速检查hdf5,npy和npz文件的Python脚本

用来快速检查hdf5文件的Python脚本

检查hdf5文件的脚本:check_hdf5.py

import h5py as h5
import sys

filename = sys.argv[1]
with h5.File(filename, 'r') as filein:
    print('######################')
    print('## file attributes: ##')
    print('######################')
    for ii in filein.attrs.keys():
        print('%s: %s'%(ii, filein.attrs[ii]))
    print('####################')
    print('## file datasets: ##')
    print('####################')
    for ii in filein.keys():
        if type(filein[ii]) == h5.Dataset:
            print('%s: %s'%(ii, filein[ii]))
            print('attributes:')
            for jj in filein[ii].attrs.keys():
                print('\t%s: %s'%(jj, filein[ii].attrs[jj]))
            print('-----------------')
    print('##################')
    print('## file groups: ##')
    print('##################')
    for ii in filein.keys():
        if type(filein[ii]) == h5.Group:
            print('%s: %s'%(ii, filein[ii]))
            print('attributes:')
            for jj in filein[ii].attrs.keys():
                print('\t%s: %s'%(jj, filein[ii].attrs[jj]))
            grp = filein[ii]
            print('datasets:')
            for kk in grp.keys():
                print('\t%s: %s'%(kk, grp[kk]))
                print('\tattributes:')
                for ll in grp[kk].attrs.keys():
                    print('\t\t%s: %s'%(ll, grp[kk].attrs[ll]))
                print('+++++++++++++++++')
            print('-----------------')

使用方法:python check_hdf5.py hdf5文件名
检查npynpz文件的脚本:check_np.py

import numpy as np
import sys 

filename = sys.argv[1]
if len(sys.argv)>2:
    trim_size = int(sys.argv[2])
else:
    trim_size = 5 
data = np.load(filename, allow_pickle=True)
print(filename)
if filename.endswith('.npz'):
    for key in data.keys():
        print('++++++++++++++++++')
        print('key: %s'%key)
        print('\tshape: %s'%(data[key].shape, ))
        print('\tdtype: %s'%(data[key].dtype))
        if np.prod(data[key].shape)<trim_size:
            print('\tvalues: %s'%(data[key], ))
        else:
            try:
                print('\tmax: %s'%np.max(data[key]))
                print('\tmin: %s'%np.min(data[key]))
            except:
                pass
else:
    print('\tshape: %s'%(data.shape, ))
    print('\tdtype: %s'%(data.dtype))
    if np.prod(data.shape)<trim_size:
        print('\tvalues: %s'%(data, ))
    else:
        try:
            print('\tmax: %s'%np.max(data))
            print('\tmin: %s'%np.min(data))
        except:
            pass

使用方法:python check_np.py npy/npz文件名 n_trim,其中n_trim用于指定什么时候显示全部数值,什么时候显示最大最小值,当arraysize大于n_trim的时候只显示最大最小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值