2015-02-04 55 views
-1

的綜合列表訪問變量我使用全面列出了我的配置文件中像這樣的Python:在配置文件中

object1 = { 
sq = @([x**2 for x in range(1,10)]) 
} 

我加載使用PyOptionTree的對象。它工作正常。 但是,現在我想在此等式中使用另一個變量。像這樣的東西

object1 = { 
y = 3 
sq = @([x**y for x in range(1,10)]) 
} 

我已經嘗試訪問y使用object1/y的公式中,但沒有奏效。我在配置文件中有多個這樣的等式,我想在一個地方指定變量,比如y,而不是在每個等式中硬編碼。

我已經搜索谷歌和stackoverflow,但沒有遇到任何文件或問題,討論它。

任何人都可以幫忙嗎?

回答

1

從細PyOptionTree docs

的eval(...),@(...)

一個返回值可以嵌入在選項 樹文件中的任何有效的Python語句使用'@'或'eval'後跟括號。其他選項 樹的名稱和本地函數的值可以包含在語句中,使用'$' 後跟包含該值的鏈接的括號。在下面的代碼:

o1 = 1 
o2 = @(1 + $(o1)) 

O1將是1和O2將2

我看到你的代碼中沒有$跡象... OTOH,我沒有PyOptionTree安裝,因此我無法驗證在配置文件中使用$(y)是否可行。

+0

非常感謝您的幫助。 – Pretty