在Flask / Python中创建枚举常量

时间:2017-08-15 14:13:34

标签: python flask

您好我想要一个包含我将在配置中使用的所有项目的枚举列表的文件。 E.G

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

我想要在Laravel中的某些内容,您只需将所有Enum放在其中一个文件中。在Laravel中,我可以将它放在文件夹config和文件list_item中,例如

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

所以如果我在laravel中引用它,就像config('config.list_item'),这将包含我在list_item文件中定义的数组。有没有办法在 Python / Flask中实现相同的方法?我能想到的唯一方法是创建一个文件,在其中我将定义一个函数,如下面的例子

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

并使用 StatusEnum()引用它,但我希望有一个更清晰的方法。

所以基本上我想要一个更清晰,最好的方法来获得一个包含我所有枚举列表的文件。我不知道如何在python / flask中做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以使用展台库中的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"])