首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >flake8仅对代码块禁用linter

flake8仅对代码块禁用linter
EN

Stack Overflow用户
提问于 2020-10-19 13:52:05
回答 1查看 8.5K关注 0票数 23

我在python中有一个文件如下:

代码语言:javascript
运行
复制
def test_constructor_for_legacy_json():
    """Test if constructor works for a legacy JSON in an old database"""

    a = A(**{
        'field1': 'BIG TEXT WITH MORE THAN 500 CHARACTERS....(...)',
        'field2': 'BIG TEXT WITH MORE THAN 500 CHARACTERS....(...)',
        'field3': 'BIG TEXT WITH MORE THAN 500 CHARACTERS....(...)',
        # (...)
        'field1000': 'BIG TEXT WITH MORE THAN 500 CHARACTERS....(...)',
    })

    assert type(a) == A

当我运行flake8 + hacking时,会收到一个错误,因为行太大了。

如果我把这个命令放在# flake8: noqa文件的开头,那么所有的文件都会被忽略。但我只想从linter中排除声明a的块。

我想对文件的其余部分进行链接,并且不能在每个fieldx的末尾加上一个# noqa: E501

有人知道我该怎么解决这个问题吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-19 16:44:56

在flake8中没有一种忽略代码块的方法

你的选择是:

  1. 忽略通过将# noqa: E501放在

上而产生错误的每一行

  1. 忽略整个文件(但这也会关闭所有其他错误),在一行中单独使用# flake8: noqa (

)

  1. 忽略整个文件中的E501,方法是在每个文件中使用per-file-ignoresflake8 -per-file-ignores= path/to/file.py: E501

一般情况下,我更喜欢第三个,甚至可能会将长字符串隔离到它们自己的文件中,而忽略它们。

免责声明:我现在是flake8的维护者

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64428794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档