Я пытаюсь записать данные из файла fast5 в текстовый файл. Я могу сделать это, перейдя в каталог, где находятся файлы, и используя этот код:
for filename in os.listdir(os.getcwd()):
if filename.endswith('.fast5'):
with h5py.File(filename, 'r') as hdf:
with open(new_txt, 'a') as myfile:
myfile.write('%s \t' % (filename))
Однако сейчас я пытаюсь получить доступ к файлам через основной каталог, перебирая определенные подпапки, в которых расположены файлы, и получая доступ к файлам таким образом, используя этот код:
for root, dirs, files in os.walk(path):
for d in dirs:
if d.startswith('pass') or d.startswith('fail')
for rootfolder, blankdirs, fast5files in os.walk(d):
for filename in fast5files:
if filename.endswith('.fast5'):
with h5py.File(filename, 'r') as hdf:
with open(new_txt, 'a') as myfile:
myfile.write('%s \t' % (filename))
Этот код дает ошибку:
IOError: Unable to open file (Unable to open file: name = 'minion2_chip61_re_n90_yt2_2644_1_ch108_file0_strand.fast5', errno = 2, error message = 'no such file or directory', flags = 0, o_flags = 0)
что меня смущает, поскольку он может получить имя файла, но почему-то не может его прочитать, что он мог бы сделать в исходном коде. Ошибка возникает в этой строке:
with h5py.File(filename, 'r') as hdf:
Почему h5py не может открыть/прочитать файл таким образом?