2017-04-07 57 views
4

我正在尝试lxml和python第一次为个人项目,我试图strip tags from a bit of source code using etree.strip_tags()Pylint错误消息:“E1101:模块'lxml.etree'没有'strip_tags'成员'”

出于某种原因,我不断收到错误消息:“E1101:模块'lxml.etree'没有'strip_tags'成员'”。

我不知道为什么会发生这种情况。

这里是我的代码的相关部分:

from lxml import etree 

... 

DOC = etree.strip_tags(DOC_URL, 'html') 
print DOC 

任何想法?

谢谢。

+0

你能告诉我们你是怎样处理页面? –

+0

@BillBell这是一个本地html文件,我从一个随机程序创建,它使用html本地显示格式化文本。我从程序中复制并粘贴,并将其保存为html。标记是超级混乱和过度的,所以我正在用python编写这个脚本来清理它。 –

+0

**澄清:** 该脚本正在工作。我在执行函数时犯了一些错误,但是我修正了它们,并且它们与这个错误信息是分开的。即使代码正常工作,错误消息仍然存在。真奇怪。 –

回答

9

原因是默认only trusts C extensions from the standard library pylint,并会忽略那些不是。

由于lxml不是stdlib的一部分,您必须手动将其列入白名单。要做到这一点,导航到终端项目的目录,并为pylint的一个rcfile:

$ pylint --generate-rcfile > .pylintrc 

然后,打开该文件,并添加LXML到白名单中,像这样:

extension-pkg-whitelist=lxml 

之后,关于lxml的所有E1101错误应该消失。

More details in this answer.

相关问题