dehuimen
2021-07-22 16:21
采纳率: 100%
浏览 48

python怎样动态调用另一个脚本中的变量名

在run.py中想动态调用config.py中的变量,使用eval这样的报错。正确的应该怎样调用?
比如:

config.py

a_b = 123
a_c = 456

run.py

import config

list = ['b', 'c']

希望print得到123, 456

for i in list:
print(config.eval('a_' + i))

报错:AttributeError: module 'config' has no attribute 'eval'

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 已采纳

    是 print(eval('config.a_' + i))

    已采纳该答案
    1 打赏 评论
  • 咕泡-三木 2021-07-23 21:58
    import config
    
    l = ["b", "c"]  # list是内置函数,不宜用作变量名
    
    for k in l:
    
        getattr(config, "a_" + k)  # getattr用于通过字符串获取成员
    

    如有帮助还请及时采纳,追问可关注公众号:测试开发研习社

    打赏 评论

相关推荐 更多相似问题