我试图使函数VisitAllObjects接受不同的文件并返回字典。但我现在所看到的是同一个名字?所以一旦gdata被运行,fdata就会变成gdata。我怎样才能使fdata和gdata与他们的gh5文件中受人尊敬的数据相等呢?在
f = h5py.File('testfile.gh5', 'r')
g = h5py.File('testfile2.gh5', 'r')
def VisitAllObjects(Group,Path, FileInfo=None):
if FileInfo is None:
FileInfo = {}
for i in Group.items():
if isinstance(i[1], h5py.Group):
VisitAllObjects(i[1], Path + '/' + i[0])
else:
datasetName = Path + '/' + i[0]
FileInfo[DatasetName] = (Group[DatasetName].shape, Group[DatasetName].dtype)
return FileInfo
fdata = VisitAllObjects(f,'')
gdata = VisitAllObjects(g,'')
在您的帮助下,当调用visit_all_objects时添加file_info,我可以让它工作。如果您看到任何问题,请告诉我,我仍然需要检查更多,但使用fdata和gdata返回的数据不同,fdata is gdata
是错误的。谢谢。在
我让它与以下内容一起工作:
^{pr2}$
与其修改字典,不如试着做一个新的,然后修改它。您可以通过将
FileInfo = FileInfo.copy()
放在函数顶部附近,在处理FileInfo is None
的情况之后。在相关问题 更多 >
编程相关推荐