pylint在使用枚举时生成r:重新定义的变量类型



我使用的是python 3.4.2和pylint 1.5.2。当我使用enum类型的变量时,Pylint正在打印一个r:重新定义的变量类型警告。下面的脚本演示了这个问题:

EnumRepro.py:

from enum import Enum
class MyEnum(Enum):
    Value1 = 1
Value2 = 2
myEnum = MyEnum.Value1
print("my enum is {}".format(myEnum))
# Huh? this line generates
# warning R0204: Redefinition of myEnum type from EnumRepro.MyEnum.Value1 to 
# EnumRepro.MyEnum.Value2 [R:redefined-variable-type]
myEnum = MyEnum.Value2 # this generates 
print("my enum is {}".format(myEnum))

有什么建议吗?目前,每当我使用枚举时,我都会禁用R0204,但这并不理想。

谢谢!

这是pylint(通常是enums和R0204)的问题。报告了多个问题,例如。https://github.com/PyCQA/pylint/issues/781

因此,暂时禁用或完全禁用R0204是可以的。

最新更新