簡體   English   中英

將變量傳遞給 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...)

你能更好地解釋一下你想要做什么嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM