Я запускаю скрипт на python, который генерирует несколько переменных после итерации по нескольким каталогам.После запуска сценария я хочу выполнить некоторые операции над несколькими фреймами данных, имена которых соответствуют определенному шаблону:
failed_runs_finder = re.compile(r'FAILEDRuns_') # pattern to search
list_dfs = list(filter(failed_runs_finder.findall, dir())) # puts the matching results in a list
, что дает мне список, как показано ниже:
['FAILEDRuns_0112',
'FAILEDRuns_0121',
'FAILEDRuns_0126',
'FAILEDRuns_0129',
'FAILEDRuns_0131',
'FAILEDRuns_0134',
'FAILEDRuns_0135',
'FAILEDRuns_0137',
'FAILEDRuns_0142',
'FAILEDRuns_0153',
'FAILEDRuns_0165',
'FAILEDRuns_0171',
'FAILEDRuns_0175']
Если я сейчас попытаюсь получить доступ к количеству строк и столбцов каждого элемента в list_dfs
с помощью метода shape()
со следующим циклом:
for i in list(filter(failed_runs_finder.findall, dir())):
print(getattr(i, 'shape'))
, я получу:
AttributeError: 'str' object has no attribute 'shape'
Это связано с тем, что элементы list_dfs
, как предполагает ошибка, строки , а не сами кадры данных.
Мой вопрос: как я могу получить доступ к самим объектам по их именам в списке?