h5py를 사용하여 사전으로 정렬하기 위해 약 1300 개의 h5 파일이 있습니다. 나는 약 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__
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)'
내가 잘못 사전을 설정 한 경우 확실하지 않다 또는 할 수있는 더 좋은 방법이 있는지 이. 누군가가 내가 만든 한 몇 가지 명백한 실수를 볼 수있는 경우
여기 내 코드입니다 :
어떤 도움/조언/통찰력을 크게 감상 할 수nodesDictionary = {}
velDictionary = {}
cellsDictionary={}
num_h5file = -1;
for root, directory, files in os.walk(rootDirectory):
for file in sorted(files):
if file.endswith(".h5"):
num_h5file = num_h5file + 1
curh5file = h5py.File(file, 'r')
nodes_list = curh5file["nodes"]
cells_list = curh5file["cells"]
velocity_list = curh5file["velocity"]
for i in range(0, len(nodes_list)-1):
if num_h5file not in nodesDictionary:
nodesDictionary[num_h5file] = [curh5file["nodes"][i]]
velDictionary[num_h5file] = [curh5file["velocity"][i]]
else:
nodesDictionary[num_h5file].append(curh5file["nodes"][i])
velDictionary[num_h5file].append(curh5file["velocity"][i])
for j in range(0, len(cells_list)-1):
if num_h5file not in cellsDictionary:
cellsDictionary[num_h5file] = [curh5file["cells"][j]]
else:
cellsDictionary[num_h5file].append(curh5file["cells"][j])
:
당신은 아마 때 파일을 닫아야합니다
좋아요! 개봉 후 폐점 한 파일이 무엇인지 알 수 있습니다. –