10

我正在尝试 pylint 来检查我的源代码的约定。不知何故,一些变量名与常量的正则表达式 ( const-rgx) 匹配,而不是变量名正则表达式 ( variable-rgx)。如何匹配变量名variable-rgx?还是我应该扩展const-rgx我的variable-rgx东西?

例如
C0103: 31: Invalid name "settings" (should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)

4

3 回答 3

27

不知何故,一些变量名与常量的正则表达式 (const-rgx) 匹配,而不是变量名正则表达式 (variable-rgx)。

这些变量是在模块级别声明的吗?也许这就是为什么它们被视为常量的原因(至少根据 PEP-8,它们应该是这样声明的)。

于 2009-04-02T13:27:59.180 回答
10

我只是禁用该警告,因为我不遵循这些命名约定。

为此,请将此行添加到模块的顶部:

# pylint: disable-msg=C0103

如果要全局禁用它,请将其添加到 pylint 命令中:

python lint.py --disable-msg=C0103 ...
于 2009-04-02T12:29:00.027 回答
0

(should match (([A-Z_][A-Z1-9_]*)|(__.*__))$)

就像您说的那样,这是仅匹配大写名称或双下划线包围的名称的 const-rgx。

变量-rgx 是

([a-z_][a-z0-9_]{2,30}$)

如果您的变量被称为“设置”,它确实应该与变量-rgx 匹配

我只能想到两个原因。要么设置是常数,要么是 PyLint 中的错误。

于 2009-04-02T13:18:58.237 回答