代码之家  ›  专栏  ›  技术社区  ›  LangeHaare cfedermann

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

  •  1
  • LangeHaare cfedermann  · 技术社区  · 6 年前

    我正在使用flake8和pylint via ALE 在vim中。

    我知道如何在各自的配置文件中为每个过梁禁用单个错误/警告。

    我怎样才能保持 line-too-long 支票 除了 文件开头的shebang行(如果存在)?

    如果第一条线不是shebang线,它仍然应该抱怨线太长。

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

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

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

    但使用此文件:

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

    它应该抱怨这三条线。

    2 回复  |  直到 6 年前
        1
  •  2
  •   ColonelFazackerley    6 年前

    通过执行以下操作创建配置文件 pylint --generate-rcfile 。查看此处了解更多信息 https://docs.pylint.org/en/1.6.0/run.html

    [MESSAGES CONTROL] 节添加 line-too-long 到的列表 disable=

    在每个python文件的第二行上,重新启用 行太长

    #!/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忽略。

        2
  •  0
  •   yoozer8    4 年前

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

    所以现在要修复我的ALE设置,我可以用 latest version from GitHub ,并在pylint中禁用行过长检查,而在flake8/pycodestyle中保持打开状态。这样,在不以任何方式修改脚本的情况下,我仍然可以在其他任何地方获得行长度的linting,而不会获得长shebang的冗余警告。