Python字典太满还是别的什么?
我有大约1300个h5文件要用h5py分类到字典中。当我在大约250个文件上运行我的代码时,它工作正常,但任何较大的数量都会给我带来错误:Python字典太满还是别的什么?,python,dictionary,h5py,Python,Dictionary,H5py,我有大约1300个h5文件要用h5py分类到字典中。当我在大约250个文件上运行我的代码时,它工作正常,但任何较大的数量都会给我带来错误: Traceback (most recent call last): File "solution_script.py", line 31, in <module> File "build/bdist.macosx-10.7-intel/egg/h5py/_hl/files.py", line 165, in __init__
Traceback (most recent call last):
File "solution_script.py", line 31, in <module>
File "build/bdist.macosx-10.7-intel/egg/h5py/_hl/files.py", line 165, in __init__
File "build/bdist.macosx-10.7-intel/egg/h5py/_hl/files.py", line 57, in make_fid
File "h5f.pyx", line 70, in h5py.h5f.open (h5py/h5f.c:1626)
IOError: unable to open file (File accessability: Unable to open file)'
如果您有任何帮助/建议/见解,我们将不胜感激:)您可能需要在处理完文件后关闭这些文件,操作系统对您一次可以打开的文件数量有限制 在你打开h5文件的那一块的末尾,只要写一个结束语句,一切都会好起来。比如:
curh5file = h5py.File(file, 'r')
...do some stuff
curh5file.close()
您可能需要在处理完文件后关闭这些文件,操作系统中对一次可以打开的文件数量有限制 在你打开h5文件的那一块的末尾,只要写一个结束语句,一切都会好起来。比如:
curh5file = h5py.File(file, 'r')
...do some stuff
curh5file.close()
我同意@gradics的观点,如果可能的话,最好是关闭你没有积极使用的文件。但是,如果您确实必须这样做,您可以使用该命令来增加流程可用的打开文件的数量—有关详细信息,请参阅 编辑: 即使发生错误,您也可以使用以确保文件已关闭:
with h5py.File(file, 'r') as curh5file:
... # Do your stuff
... # continue other actions
当您退出“with”块时,文件将自动关闭。如果发生异常,它仍将被关闭。我同意@爬行动物的观点,如果可能,最好是关闭您未积极使用的文件。但是,如果您确实必须这样做,您可以使用该命令来增加流程可用的打开文件的数量—有关详细信息,请参阅 编辑: 即使发生错误,您也可以使用以确保文件已关闭:
with h5py.File(file, 'r') as curh5file:
... # Do your stuff
... # continue other actions
当您退出“with”块时,文件将自动关闭。如果发生异常,它仍将关闭。太好了!我会看看打开后关闭文件的效果。太好了!我将查看打开后关闭文件的功能。