2013-10-23 47 views
1

我正在嘗試設置我的配置,以便可以從配置中調用功能,然後解析爲結果。有沒有從ConfigParser文件中調用函數的模塊標準方法?

我希望的配置會是這樣的

[sectionOne] 
option1 = split('item1|item2|item3',0,0,'|') 

當通過ConfigParser加載會導致它調用定義split()功能。

如果必須,我會構建處理這個問題的邏輯,但是我想知道是否有人知道現有的模塊可以處理這種翻譯。

+0

我基本上需要一組可以在配置文件中公開的字符串操作函數。如果你有更好的實施建議,我肯定願意聽取建議。 – Drahkar

+0

我爲我的sn ap道歉,但重點是_這是一個糟糕的主意_,你應該備份一下,找到一種不同的方式來實現你的_larger_目標。例如,你可以安排,如果一個值以'[''''或'{'開頭''json.loads'](http://docs.python.org/2/library/json。 html?highlight = json#json.loads)或['ast.literal_eval'](http://docs.python.org/2/library/ast.html#ast.literal_eval)。 – zwol

回答

0

我不舒爾我明白你的問題,但如果我這樣做,你可以定義的函數

funcs = {'split':split} 

兩個選項的字典,

option1func = 'split' 
option1args = ('item1|item2|item3',0,0,'|') 

,然後執行

option1value = funcs[option1func](*option2args) 

在您的代碼。你當然可以只是eval(option1),但這不是一個很好的做法。

相關問題