python - 在 Flask/Python 中创建 Enum 常量

标签 python flask

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

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

我想要像 Laravel 那样的东西,你只能将所有枚举放在一个文件中。在 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 中执行此操作。

最佳答案

您可以使用标准库中的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")

或者只是在配置文件中放置一个字典变量。将其导入到您想要使用的地方。

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

from config import status

print(status["FAILED"])

关于python - 在 Flask/Python 中创建 Enum 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45694680/

相关文章:

python - 根据另一个 DataFrame 的公共(public)列过滤和替换一个 Pandas DataFrame 中的值

python - 为什么我的模型可以正常使用 train_test_split 中的测试数据,而不能使用新数据?

python - 无法访问 python 的 Azure 函数

python - uWSGI touch-reload 选项不起作用

python - 如何将 Pandas 数据框显示为 flask 引导表?

Flask peewee 如何在编辑/创建表单时更改字段顺序

python - 如何准备图像分类训练数据

python - 从 C 执行 python 脚本

基于 grunt 的工作流程的 Flask 项目结构

python - 允许 flask route 的所有方法类型