如何将属性的字符串放入函数

2024-10-04 01:36:20 发布

您现在位置: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)()

Tags: 数据函数infodata属性object错误poloniex
1条回答
网友
1楼 · 发布于 2024-10-04 01:36:20

您可以尝试使用^{}

# '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()

相关问题 更多 >