python - 如何将属性字符串放入函数中
问题描述
我需要 Python 中的函数属性方面的帮助。我有看起来像这样的数据:exch1 = data['Info']['Exchange1']
这等于例如poloniex
。我需要得到exch1_object
它必须看起来像这样ccxt.poloniex()
,但是当我尝试这样做时,我得到了错误:
AttributeError: module 'ccxt' has no attribute 'str'
import ccxt
exch1 = data['Info']['Exchange1']
exch2 = data['Info']['Exchange2']
exch1_object = exch1.lower()
exch1_object = ccxt.str(exch1_object)()
解决方案
您可以尝试使用getattr()
:
# 'exch1_object' should be a string
func = getattr(ccxt, exch1_object)
exch1_object = func()
这将从ccxt
具有当前在变量内部的名称的模块中获取函数exch1_object
(应该是一个字符串)。
这也可以缩短为:
exch1_object = getattr(ccxt, exch1_object)()
您将不得不决定哪个更清晰,更适合您的案例。
因此,例如,这些行:
exch1_object = 'poloniex'
exch1_object = getattr(ccxt, exch1_object)()
将产生与以下相同的结果:
exch1_object = ccxt.poloniex()
推荐阅读
- php - 调用未定义的方法 Illuminate\Database\Eloquent\Relations\BelongsTo::type()
- c# - 如果客户端不存在或为空,则返回错误消息
- cordova - ios 13 中没有为 ionic 3 应用程序设置 cookie
- reactjs - 测试 React Hooks 的最佳库是什么?
- flutter - Flutter 将小部件对齐到中心,另一个对齐到右侧 - 不可能
- javascript - 反应:警告:失败的道具类型:无法读取未定义的属性“应用”
- ios - RxSwift。订阅发生两次
- haskell - foldMap :: (Monoid m) => (a -> m) -> fa -> m 类型是什么意思以及如何实现它?
- r - acf 函数和 ggAcf 函数给出不同的结果
- vba - 访问 vba msado 参考中的路径错误