使用pylint的python代码约定

时间:2009-04-02 12:21:32

标签: python conventions pylint

我正在尝试使用pylint检查我的源代码的约定。不知何故,一些变量名称与常量(const-rgx)的正则表达式匹配,而不是变量名称正则表达式(variable-rgx)。如何将变量名称与variable-rgx匹配?或者我应该使用我的const-rgx内容扩展variable-rgx吗?

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

3 个答案:

答案 0 :(得分:27)

  

某些变量名称与常量的正则表达式(const-rgx)匹配,而不是变量名称regex(variable-rgx)。

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

答案 1 :(得分:10)

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

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

# pylint: disable-msg=C0103

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

python lint.py --disable-msg=C0103 ...

答案 2 :(得分:0)


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

就像你说的那样,const-rgx只匹配大写的名字,或者被双下划线包围的名字。

变量-rgx是

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

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

匹配

我只能想到两个原因.. 设置是常量,或者它是PyLint中的错误。