给flake8添加一点putty的功能。
项目描述
Flake8 Putty允许对flake8报告的错误有更多的控制,而无需为每个检测到的错误或不希望的错误添加noqa。
有关此扩展的一些动机,请参阅https://gitlab.com/pycqa/flake8/issues/89。
如果您只想获得更好的noqa支持,flake8-respect-noqa是一个更简单的扩展,它仅在禁用多进程时工作。
通过在代码中添加noqa来禁用错误或不希望的错误可能出于以下原因而不受欢迎:
错误出现频繁
该模块仅处于严格维护模式
它导致一行违反行长度规则
错误应该仅在某些版本或平台上被忽略
安装
只需
$ pip install flake8-putty
检查flake8是否能找到它
$ flake8 --version 2.4.1 (pep8: 1.5.7, flake8-putty: 0.3.2, mccabe: 0.3.1, pyflakes: 0.8.1) CPython 2.7.6 on Linux
用法
除非配置文件或命令行选项中出现putty-auto-ignore、putty-ignore或putty-select,否则flake8-putty不会激活。
自动忽略检测每行上的注释,如.. # flake8: disable=xxxx。
putty-ignore和putty-select都支持多行值,每行都是一个规则,其格式应为:
<选择器> : <修饰符><代码>
当匹配规则时使用的代码是flake8代码。唯一的修饰符是+,它将代码追加到其他规则中的代码列表。
选择器可以包含一个或多个以下内容:- 文件模式 - 行正则表达式 - flake8代码
当使用多个文件模式选择器时,只需其中一个文件模式与文件名匹配即可。同样,只需匹配多个正则表达式中的一个,或匹配多个代码中的一个。
然而,当将不同类型的选择器组合在一个规则中时,每种类型的选择器都必须匹配。
例如,当使用两个文件名和两个正则表达式时,至少必须有一个文件名和一个正则表达式匹配,规则才能激活。
所有匹配的规则都会被处理。
示例
仅禁用foo.py中的D102
- putty-ignore =
foo.py : D102
对于< cite>__init__ cite>方法,禁用D205、D400和D401
- putty-ignore =
/__init__/ : +D205,D400,D401
仅当明确提及时才禁用T001
- putty-ignore =
/# !qa:.*T001/ : +T001
禁用明确提及的任何代码
- putty-ignore =
/# !qa: (?P<codes>[A-Z0-9, ])/ : +(?P<codes>)
禁用在# flake8: disable=之后出现的任何代码
putty-auto-ignore = True