在Python3中的另一个类中使用枚举实例

ase*_*aya 6 enums python-3.x

我有一个名为UsedPlatforms的枚举类:

from enum import Enum

class UsedPlatforms(Enum):
    PROD = 1,
    TEST = 2
Run Code Online (Sandbox Code Playgroud)

我想在另一个 python 类中使用这个枚举,例如:

import UsedPlatforms

def foo(platform):
    if platform == UsedPlatforms.PROD:
        print("Did it!")

foo(platform=UsedPlatforms.PROD)
Run Code Online (Sandbox Code Playgroud)

但是当我运行第二个脚本时,我收到如下错误

Traceback (most recent call last):
  File "/home/user/Projects/EnumTest/test.py", line 9, in <module>
    foo(platform=UsedPlatforms.PROD)
AttributeError: module 'UsedPlatforms' has no attribute 'PROD'

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

我认为我无法正确导入我的枚举类,或者我不知道如何在类之间使用枚举,或者其他什么。那么,我应该怎么做才能在其他类中使用我的枚举类呢?

谢谢!

小智 10

如果您的enum类包含在名为 的文件中UsedPlatform.py,那么您应该将import语句更改test.py为:

from UsedPlatforms import UsedPlatforms
Run Code Online (Sandbox Code Playgroud)

如果您尝试导入的文件位于您需要的文件夹内:

from folder.FileWithoutExtension import <ClassName/Enum>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述