有人解释hdf5storage.write()
和hdf5storage.writes()
函数的确切区别吗?我读过文件,但我不懂。
这在hdf5storage
文档中有解释。引用:
- 本模块的主要功能是
write()
和read()
写一个Python变量到HDF5文件(或读取和 - 0.1.10版本增加了两个新功能:
writes()
和reads()
。 - 它们写入和读取不止一个Python变量马上,虽然
- 调用
write()
打开和关闭HDF5文件。因此,对多个变量多次调用write()
会导致a性能损失。这在大HDF5文件中最为明显。 - 另外,
savemat()
和loadmat()
(与MATLAB数据一起工作)现在使用writes()
和reads()
来提高性能。
write()
和writes()
的完整文档在这里。
对于一个名为'a'的Python变量,一个简单的write()
调用看起来像:
hdf5storage.write(a, path='/a', filename='data.h5')
writes()
调用使用字典,其中键是HDF5路径,值是要写入文件的数据。对于名称为mdict
的字典,调用看起来像这样:
hdf5storage.writes(mdict, filename='data.h5')
下面是3个数组的例子:
arr1 = np.arange(10)
arr2 = np.arange(10,20).reshape(5,2)
arr3 = np.arange(20,30).reshape(2,5)
hdf5storage.write(arr1, path='/arr1', filename='write_data.h5')
hdf5storage.write(arr2, path='/arr2', filename='write_data.h5')
hdf5storage.write(arr3, path='/arr3', filename='write_data.h5')
mdict = {'/arr1':arr1, '/arr2':arr2, '/arr3':arr3}
hdf5storage.writes(mdict, filename='writes_data.h5')
结果文件应该是相同的。