pylint 1.6.3报告x101

时间:2016-07-25 14:55:45

标签: python pylint

我们在项目中使用ElementTree library。这来自标准库,但由于某种原因pylint扼杀了它。它总是在ElementTree对象的任何引用上报告E1101。以下是一些代码示例:

import xml.etree.ElementTree as ET

test = ET.parse('test.xml')
config = test.find('.//configuration')
print(config)

for role in config.findall('.//role'):
    print(role)

pylint的输出总是抛出一个E1101:

$ pylint --rcfile=pylint.cfg -E test.py
************* Module orion-scripts.test
E:  7,12: Instance of 'int' has no 'findall' member (no-member)

但程序运行得很好:

$ python test.py
<Element 'role' at 0x1052dfe50>
<Element 'configuration' at 0x1052dfe10>

我找到了许多针对类似问题的解决方案,但到目前为止,没有一个能够解决这个问题。我试过了:

  • 使用ignored-classes=xml.etree.ElementTree
  • 设置被忽略的班级
  • 使用generated-members=ET
  • 将其设置为生成成员
  • 允许使用unsafe-load-any-extension=yes
  • 运行任何扩展程序

没有任何效果,我现在只是忽略E1101消息。但是,这是一个非常糟糕的选择,我更愿意忽略这个特定的类。如果有帮助,这是pylint的版本信息:

$ pylint --version
No config file found, using default configuration
pylint 1.6.3, 
astroid 1.4.7
Python 2.7.11 (default, Jan 22 2016, 08:28:37) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)]

0 个答案:

没有答案