如何阻止flake8和pylint抱怨shebang线超过最大字符?

时间:2018-03-22 09:46:03

标签: python pylint flake8

我在vim中通过ALE使用flake8和pylint。

我知道如何在各自的配置文件中禁用每个链接的个别错误/警告。

如何在文件开头的shebang行(如果有的话)保留除之外的line-too-long次检查

如果第一行不是一个shebang行,它仍然应该抱怨太长的行。

因此,如果最大行长度为5(为了示例),请使用此文件:

#!/run/stuff
x=3
print(x)

他们应该抱怨第三条线而不是第一条线。

但是有了这个文件:

x = 1 + 1 + 1
# Print the result
print(x)

它应该抱怨所有三条线。

2 个答案:

答案 0 :(得分:1)

通过执行pylint --generate-rcfile制作配置文件。请点击此处了解更多https://docs.pylint.org/en/1.6.0/run.html

[MESSAGES CONTROL]部分下的

line-too-long添加到disable=的列表中。

在每个python文件的第二行,您重新启用line-too-long

#!/usr/bin/env                python3
# pylint: enable=line-too-long
x=3
print(x) # make this longer than the enable line

我将行限制设置为30,因此pylint抱怨第4行。我向shebang行添加了无偿的空格,但是pylint仍然忽略了长度。

答案 1 :(得分:0)

感谢@Ian Stapleton Cordasco,我最终向pycodestyle提交了一个补丁(由flake8使用),以忽略shebang行的长度。

所以现在为了修复我的ALE设置,我可以用my latest version from GitHub取代我的flake8副本的pycodestyle脚本,并在pylint中禁用行太长的检查,同时将它们保留在flake8 / pycodestyle中。这样一来,如果没有以任何方式修改我的脚本,我仍然会在其他任何地方获取行长,而不会为长期的shebang提供冗余警告。