[英]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...)
你能更好地解釋一下你想要做什么嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.