我有一个枚举类
default_enums.py
import enum
class Color(enum.Enum):
Red = 0
Blue = 1
Green = 2
app.py
from default_enums import Color
def set_enums():
global color_enum
color_enum = Color
another_file.py
import app
#this line throws the error
# RuntimeError: no object bound to color_enum
app.color_enum.Red
我无法访问color_enum中的值,因为我已将该类分配给color_enum。
任何人都可以帮助我解决问题。
由于
答案 0 :(得分:0)
您需要做的就是调用app.py模块中的set_enums()
函数。
-----------app.py-----------
from default_enums import Color
def set_enums():
global color_enum
color_enum = Color
#call the function to set the value for color_enum
set_enums()
-----------another_file.py-----------
from app import *
print(color_enum.Red.value)
#0
尽管如此,我觉得设计代码可以改进。事实上,整个app.py
模块本身并不是必需的。并且color_enum
变量之前未定义,但是在set_enums()
函数中设置,这可能会导致您面临的问题。
所以我建议再次查看代码设计,而不是实现上面的设计。