2017-08-15 31 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几乎一样。我会接受这个答案,谢谢 –