0

我遇到了 python 的 h5py 模块的问题。

我正在尝试以“r+”模式打开一个文件,并想更改该文件中的一些字符。

每当我覆盖数据时,字符就会被删除。

这就是我得到的:

>>> f = h5py.File(someFile, 'r+')
>>> f[someCharacters]
<HDF5 dataset "someChar": shape (83,), type "|S1">
>>> f[someCharacters][-7]
'l'
>>> f[someCharacters][-7] = 't'
>>> f.flush()
>>> f[someCharacters][-7]
''
>>> f.close()

重新打开文件也无济于事......

>>> f = h5py.File(someFile, 'r+')
>>> f[someCharacters][-7]
''
>>> f.close()

我尝试对自己创建的文件做同样的事情,效果很好:

>>> f = h5py.File('./testFile.h5', 'r+')
>>> dset = f['myDSet']
>>> dset
<HDF5 dataset "myDSet": shape (100,), type "|S1">
>>> dset[5]
''
>>> dset[5] = 'r'
>>> dset[5]
'r'
>>> f.close()
>>> f = h5py.File('./testFile.h5', 'r+')
>>> f['myDSet'][5]
'r'
>>> f.close()

所以我想我正在尝试编辑的特定文件“someFile”有一些特别之处。

非常感谢您的任何建议或帮助!

4

0 回答 0