我正在尝试 pylint 来检查我的源代码的约定。不知何故,一些变量名与常量的正则表达式 ( const-rgx
) 匹配,而不是变量名正则表达式 ( variable-rgx
)。如何匹配变量名variable-rgx
?还是我应该扩展const-rgx
我的variable-rgx
东西?
例如
C0103: 31: Invalid name "settings" (should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)
我正在尝试 pylint 来检查我的源代码的约定。不知何故,一些变量名与常量的正则表达式 ( const-rgx
) 匹配,而不是变量名正则表达式 ( variable-rgx
)。如何匹配变量名variable-rgx
?还是我应该扩展const-rgx
我的variable-rgx
东西?
例如
C0103: 31: Invalid name "settings" (should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)
不知何故,一些变量名与常量的正则表达式 (const-rgx) 匹配,而不是变量名正则表达式 (variable-rgx)。
这些变量是在模块级别声明的吗?也许这就是为什么它们被视为常量的原因(至少根据 PEP-8,它们应该是这样声明的)。
我只是禁用该警告,因为我不遵循这些命名约定。
为此,请将此行添加到模块的顶部:
# pylint: disable-msg=C0103
如果要全局禁用它,请将其添加到 pylint 命令中:
python lint.py --disable-msg=C0103 ...
(should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)
就像您说的那样,这是仅匹配大写名称或双下划线包围的名称的 const-rgx。
变量-rgx 是
([a-z_][a-z0-9_]{2,30}$)
如果您的变量被称为“设置”,它确实应该与变量-rgx 匹配
我只能想到两个原因。要么设置是常数,要么是 PyLint 中的错误。