2017-08-15 153 views
0

嗨我想要一個文件,其中包含我將在我的配置中使用的所有項目的枚舉列表。 E.G在Flask/Python中創建Enum常量

{ 
    "SUCCESS": 1, 
    "FAILED": 1, 
    "PENDING": 1, 
} 

我想要的東西喜歡在Laravel在哪裏,你只會把你所有的枚舉的文件之一。在Laravel我可以把這個文件夾裏面的配置和文件LIST_ITEM如

return [ 
    "SUCCESS": 1, 
    "FAILED": 1, 
    "PENDING": 1, 
] 

,所以如果我在laravel它像配置(「config.list_item」)引用此,這將包含我在LIST_ITEM定義的陣列文件。在Python/Flask中有沒有辦法在中實現相同的方法?我能想到的唯一方法是創建一個文件,裏面我會定義類似下面

def StatusEnum(): 
    return { 
     "SUCCESS": 1, 
     "FAILED": 1, 
     "PENDING": 1, 
    } 

的例子中的函數,並與StatusEnum()引用它,但我希望有一個更清潔的方式來這個。

所以基本上我想要一個更清潔和最好的方法來有一個文件,其中包含我所有的枚舉列表。我不知道如何在python/flask中做到這一點。

+0

你能澄清你想要完成的任務? –

+0

@LelandBarton編輯了我的問題。我不會像Laravel如何加載和存儲所有配置/常量變量(Enum) –

+0

檢查[ConfigParser](https://docs.python.org/2/library/configparser.html) – stamaimer

回答

0

您可以在stand庫中使用configparser

#config.cfg 
[status] 
FAILED = 0 
SUCCESS = 1 
PENDING = 1 

# python source code 
import configparser 
config = configparser.ConfigParser() 
config.read("config.cfg") 
config.getint("status", "FAILED") 

或者只是在您的配置文件中放置一個dict變量。將其導入到您想要使用它的位置。

# config.py 
status = {"FAILED": 0, "SUCCESS": 1, "PENDING": 2} 

from config import status 

print(status["FAILED"]) 
+0

看來這是一個很好的和Laravel幾乎一樣。我會接受這個答案,謝謝 –