2016-11-16 4 views
0

Здравствуйте, я не могу загрузить файл с hdf5 h5py:Uppercases преобразовать в нижний регистр при загрузке файла с h5py

$ python verif.py 
Traceback (most recent call last): 
    File "verif.py", line 4, in <module> 
    h5f = h5py.File("../DeepFISH-Github_projects/DeepFISH/dataset/'+'LowRes_13434_overlapping_pairs.h5",'r') 
    File "/home/jeanpat/VirtualEnv/venv3/lib/python3.5/site-packages/h5py/_hl/files.py", line 272, in __init__ 
    fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr) 
    File "/home/jeanpat/VirtualEnv/venv3/lib/python3.5/site-packages/h5py/_hl/files.py", line 92, in make_fid 
    fid = h5f.open(name, flags, fapl=fapl) 
    File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/tmp/pip-at6d2npe-build/h5py/_objects.c:2684) 
    File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/tmp/pip-at6d2npe-build/h5py/_objects.c:2642) 
    File "h5py/h5f.pyx", line 76, in h5py.h5f.open (/tmp/pip-at6d2npe-build/h5py/h5f.c:1930) 
OSError: Unable to open file (Unable to open file: name = '../deepfish-github_projects/deepfish/dataset/'+'lowres_13434_overlapping_pairs.h5', errno = 2, error message = 'no such file or directory', flags = 0, o_flags = 0 

Строка, содержащая путь к файлу:

../DeepFISH-Github_projects/DeepFISH/dataset'+'LowRes_13434_overlapping_pairs.h5 

, кажется, быть изменен h5py

../deepfish-github_projects/deepfish/dataset/lowres_13434_overlapping_pairs.h5 

Я могу изменить имя каталога, но это странно.

ответ

1

В этой строке

h5f = h5py.File("../DeepFISH-Github_projects/DeepFISH/dataset/'+'LowRes_13434_overlapping_pairs.h5",'r') 

вы пытаетесь открыть файл с именем в его буквальном '+'. Внешние кавычки являются двойными кавычками, поэтому одинарные кавычки внутри строки являются лишь частью имени. То, что вы, вероятно, хотел использовать это:

h5f = h5py.File("../DeepFISH-Github_projects/DeepFISH/dataset/" + "LowRes_13434_overlapping_pairs.h5",'r') 

Я не знаю, почему сообщение об ошибке в нижнем регистре, может быть, библиотека пытается найти файл в случае нечувствительным способом, если он не находит его исходное имя или базовая файловая система нечувствительны к регистру, и это как раз то, как ОС сообщает о недостающей ошибке файла.

Смежные вопросы