2016-04-27 50 views
2

執行我試圖建立使用配置文件,Python和ConfigParser動態操作。我對Python相當陌生(2周大),所以我不確定這是否可能,這就是我認爲我會問的原因。一個配置文件指定操作在Python

下面是一個示例配置文件:

[General] 
Volume File = C:\Users\O\Desktop\Sanjeev\Python\Solution\volume.xlsx 
New Variables File = C:\Users\O\Desktop\Sanjeev\Python\Solution\newvar.xlsx 
Desired Variable Name = Price,Age 
Merging Variables = Category,State 
[Operations] 
Operation1 = Price*Volume,Revenue 
Operation2 = Revenue/Age,Annual Revenue 

所以在這裏我會使用合併變量來合併第一和第二數據集,保留並可能聚集所需的變量。然後,根據操作部分中指定的操作,我將執行並將它們存儲在與列表中第二項相同名稱的變量中。

我想,而在Python腳本來指定在配置文件中,這些操作的原因是因爲這些操作的數量和類型會有所不同。我需要創建動態代碼,它能夠在配置文件中解析這個選項,就好像它是代碼並執行它一樣。

我想就如何開始的一些方向。

+2

是的,你可以做到這一點。繼續編碼吧。 –

+1

嘗試https://docs.python.org/2/library/configparser.html –

回答

0

您可以使用設計模式「工廠」 https://en.wikipedia.org/wiki/Factory_method_pattern使用代碼自省,如果您熟悉面向對象的編程。

否則,你可以看看evalexec功能:https://docs.python.org/3/library/functions.html#eval

下面是使用eval函數的例子:

>>> first_parameter = 10 
>>> second_parameter = 2 
>>> result = eval("first_parameter * second_parameter") 
>>> result 
20 
+0

評估和演示就是我一直在尋找。它直接從配置文件獲取輸入並將其轉換爲代碼。 –