gpt4 book ai didi

python - 从Python列表中的名称(字符串)访问对象属性

转载 作者:太空宇宙 更新时间:2023-11-03 21:14:40 26 4
gpt4 key购买 nike

我正在运行一个 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']

如果我现在尝试使用 shape() 方法通过以下循环访问 list_dfs 中每个元素的行数和列数:

for i in list(filter(failed_runs_finder.findall, dir())):
print(getattr(i, 'shape'))

我得到:

AttributeError: 'str' object has no attribute 'shape'

这是因为,正如错误所示,list_dfs 中的元素是字符串,而不是数据帧本身。

我的问题是如何通过列表中的名称访问对象本身?

最佳答案

这应该可以解决问题:

for i in list(filter(failed_runs_finder.findall, dir())):
print(locals()[i].shape)

关于python - 从Python列表中的名称(字符串)访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54805262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com