Присвоение переменной с выводом из цикла for с использованием строки f

Я пытаюсь написать программу на Python, которая на данный момент должна

  1. изменить на все подкаталоги в базовом каталоге (указывается с пользовательским аргументом при запуске скрипта python)
  2. Внутри каждого из подкаталогов программа должна искать файл с именем SampleSheet.csv и сохраните его следующим образом: ss_tab_string_pattern где pattern это строка из for loop вывод, как показано в коде ниже.

Чтобы уточнить мой вопрос, мой код с соответствующими комментариями можно найти ниже: (подкаталоги subdirs были получены программно, но здесь, для простоты, я внесу их в список)

subdirs = ['180301_A00154_0026_BH7T5GDMXX', '181127_A00154_0121_AH52WHDRXX', '181205_A00154_0129_BH55W7DRXX', '181210_A00154_0131_BH573KDRXX']

import os
for i in list(range(len(subdirs))):
    os.chdir(args.bd + '\\' + subdirs[i]) # change to a subdirectory. `args.bd` is the full path to my basedirectory and each element in the list `subdirs` is a subdirectory of `args.bd`
    uniq_identifier = subdirs[i].split('_')[-2] # here I am fetching unique identifiers from the elements in `subdirs` (i.e. 0026, 0121, 0129 and 0131)
    with open('SampleSheet.csv') as f:
        f'ss_tab_string_{uniq_identifier}' = f.read() # here is where I am having problems. Apparently I cannot use f string for variable assignment.

Когда я запускаю этот код, я получаю следующее сообщение об ошибке:

can't assign to literal

Мой ожидаемый результат, учитывая этот пример, заключается в получении четырех объектов (типа str) с именем ss_tab_string_0026, ss_tab_string_0121, ss_tab_string_0129 а также ss_tab_string_0131 в то время как содержание каждого объекта будет SampleSheet.csv находится в каждом из подкаталогов, как в subdirs список

0 ответов

Другие вопросы по тегам