将变量传递给 eval
passing in variables to eval
我正在尝试使用 eval 动态 运行 ta-lib 指标,我构建了以下代码:
sy=eval("talib."+str(i)+"("+str(df['DFF'].values)+","+str(X)+")")
其中 i 是 ta-lib 指标,df['dff'] 是持有价格的数据框,X 是 5
我收到以下错误:
talib.MAMA([1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42
^
SyntaxError: invalid syntax
不太确定我做错了什么,有人可以帮忙吗?
绝对听@chris 的。使用 eval
绝对是最后的手段。您正在您的程序中创建一个巨大的安全漏洞。
如果您有一个对象 talib
,并且您想要调用一些名称存储在变量 method_name
中的方法,请使用类似以下内容:
getattr(talib, method_name)(...arguments...)
你能更好地解释一下你想做什么吗?
我正在尝试使用 eval 动态 运行 ta-lib 指标,我构建了以下代码:
sy=eval("talib."+str(i)+"("+str(df['DFF'].values)+","+str(X)+")")
其中 i 是 ta-lib 指标,df['dff'] 是持有价格的数据框,X 是 5
我收到以下错误:
talib.MAMA([1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42 1.42
^
SyntaxError: invalid syntax
不太确定我做错了什么,有人可以帮忙吗?
绝对听@chris 的。使用 eval
绝对是最后的手段。您正在您的程序中创建一个巨大的安全漏洞。
如果您有一个对象 talib
,并且您想要调用一些名称存储在变量 method_name
中的方法,请使用类似以下内容:
getattr(talib, method_name)(...arguments...)
你能更好地解释一下你想做什么吗?