2016-03-17 2 views
-2

Я пытаюсь прочитать все файлы fasta из тестовой папки и поместить имя файла во все заголовки отдельного файла. Код работает для первого файла и не переходит к второму файлу и возвращает ошибку. Не могли бы вы помочь мне найти ошибку в моем коде или изменить ее. СпасибоЧитать все файлы из папки и редактировать

import sys, glob, os, string 
header = '' 
check = 0 
path = "./test/" 
dirs = os.listdir(path) 
for file in dirs: 
    fp = open(file, "r") 
    fpx = open('%s_output.txt' % file, 'w') 
    for line in fp: 
     if line.startswith('>'): 
      line = line.rstrip() 
      check = check + 1 
      if check >= 1: 
       header = line 
       fpx.write(header + '_' + file + '\n') 
     else: 
      line = line.rstrip() 
      fpx.write(line + '\n') 
+0

Пожалуйста, сообщите об ошибке, возникшей в результате вашего кода. – mobiuseng

ответ

0

Было бы полезно предоставить сообщение об ошибке, которое вы получаете! Я думаю, что это должно завершиться неудачей с «Файл не найден», потому что вы пытаетесь открыть файл по имени вместо пути. Попробуйте fp = open(os.path.join(path, file), "r"):

import sys, glob, os, string 
header = '' 
check = 0 
path = "./test/" 
dirs = os.listdir(path) 
for file in dirs: 
    fp = open(os.path.join(path, file), "r") 
    fpx = open('%s_output.txt' % file, 'w') 
    for line in fp: 
     if line.startswith('>'): 
      line = line.rstrip() 
      check = check + 1 
      if check >= 1: 
       header = line 
       fpx.write(header + '_' + file + '\n') 
     else: 
      line = line.rstrip() 
      fpx.write(line + '\n') 
+0

Спасибо, приятель ... Он работает –

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