栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

禁用给定模块或目录的pylint消息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

禁用给定模块或目录的pylint消息

可以使用pylint插件和一些技巧来实现。

假设我们具有以下目录结构:

 pylint_plugin.py app ├── __init__.py └── mod.py test ├── __init__.py └── mod.py

mod.py的内容:

def f():    1/0

pylint_plugin.py的内容:

from astroid import MANAGERfrom astroid import scoped_nodesdef register(linter):    passdef transform(mod):    if 'test.' not in mod.name:        return    c = mod.stream().read()    # change to the message-id you need    c = b'# pylint: disable=pointless-statementn' + c    # pylint will read from `.file_bytes` attribute later when tokenization    mod.file_bytes = cMANAGER.register_transform(scoped_nodes.Module, transform)

没有插件,pylint将报告:

************* Module tmp.exp_pylint.app.modW:  2, 4: Statement seems to have no effect (pointless-statement)************* Module tmp.exp_pylint.test.modW:  2, 4: Statement seems to have no effect (pointless-statement)

加载了插件:

PYTHonPATH=. pylint -dC,R --load-plugins pylint_plugin app test

产量:

************* Module tmp.exp_pylint.app.modW:  2, 4: Statement seems to have no effect (pointless-statement)

pylint通过对源文件进行标记化来读取注释,此插件可在运行时更改文件内容,以在标记化时欺骗pylint

注意,为简化演示,我在这里构造了一个“无意义声明”警告,禁用其他类型的消息是微不足道的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645967.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号