Сравнение имен файлов и добавление их в список в python - PullRequest
0 голосов
/ 08 мая 2020

У меня есть список имен файлов под названием «allCsvFiles». С другой стороны, у меня есть файл .txt, в каждой строке которого содержится идентификатор бактерии. Я хочу сравнить имя каждого файла в «allCsvFiles» с каждой строкой этого файла «.txt». Если имена совпадают, я хочу добавить имя файла '.csv' в другой список под названием «allGeneralFiles». это мой код:

      for f in allCsvFiles:
         with  open(idsFile) as generalIdsFIle:
              for line in generalIdsFIle:
                  if f[ :-3] == line:
                      allGeneralFiles.append(f)
      print(*allGeneralFiles, sep = ' , ')

Проблема в том, что после запуска на терминале я не получаю никакой ошибки, а просто пустую строку без какой-либо записи. Я знаю, что список не должен быть пустым. Спасибо!

1 Ответ

0 голосов
/ 08 мая 2020

Похоже, что строка в genralIdsFIle не соответствует вашему имени файла. Решением может быть удаление начала и конца новых строк и пробелов из строки перед ее сравнением с именем файла.

Попробуйте следующее:

  for f in allCsvFiles:
      with  open(idsFile) as generalIdsFIle:
          for line in generalIdsFIle:
              if f[ :-3] == line.strip():
                  allGeneralFiles.append(f)
  print(*allGeneralFiles, sep = ' , ')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...