如何告诉pylint类实例变量不是常量

时间:2014-02-11 21:27:22

标签: python python-2.7 pylint

class MyFavoriteClass():
  def __init__(self):
      self.counter = 0
  def memberFunction(self):
      self.counter = self.counter + 1

myinstance = MyFavoriteClass() #Pylint complains here
myinstance.memberFunction()

pylint报告的倒数第二行的错误是

[C0103] Invalid name "myinstance" for type constant (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)

我已经读过可以完全禁用这种类型的错误,但是有必要吗?

如何告诉pylint myinstance不是常量?

pylint -v

报告的系统配置
pylint 0.26.0, 
astng 0.24.1, common 0.59.1
Python 2.7.5+ (default, Sep 19 2013, 13:48:49) 
[GCC 4.8.1]

1 个答案:

答案 0 :(得分:2)

使用 pylint ,您可以使用以下格式的特殊注释忽略一行中的个别错误,警告等:# pylint: disable={comma-separated-list-of-names-or-codes}

class MyFavoriteClass():
    def __init__(self):
        self.counter = 0
    def memberFunction(self):
        self.counter = self.counter + 1

myinstance = MyFavoriteClass() # pylint: disable=invalid-name
myinstance.memberFunction()

或者,您可以在pylint配置文件中指定要忽略的消息代码列表:

[MESSAGES CONTROL]

# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once).
disable=invalid-name
# OR
disable=C0103

注意:禁用配置文件中的代码将全局忽略它。如果你想在特定的行上忽略它,你将不得不使用开头提到的特殊注释。

首先检查PYLINTRC环境变量,确定pylint配置文件。如果这不提供文件,则会连续检查~/.pylintrc/etc/pylintrc

如果您可以控制正在执行的 pylint 命令,您还可以使用--rcfile参数指定配置。

如果您想生成示例配置,请运行:

pylint --generate-rcfile

此外,如果您禁用代码,则会触发locally-disabled (I0011),该代码本身也可以被禁用(理想情况下在配置中)。