Python Flake 8仅对代码块禁用linter

Python Flake 8仅对代码块禁用linter,python,flake8,Python,Flake8,我有一个python文件,如: def test_constructor_for_legacy_json(): “”“测试构造函数是否适用于旧数据库中的旧JSON”“” a=a(**{ “字段1”:“超过500个字符的大文本…”, “字段2”:“超过500个字符的大文本…”, “字段3”:“超过500个字符的大文本…”, # (...) “field1000”:“超过500个字符的大文本…”, }) 断言类型(a)=a 当我运行flake8+hacking时,我收到一个错误,因为行太大了 如果

我有一个python文件,如:

def test_constructor_for_legacy_json():
“”“测试构造函数是否适用于旧数据库中的旧JSON”“”
a=a(**{
“字段1”:“超过500个字符的大文本…”,
“字段2”:“超过500个字符的大文本…”,
“字段3”:“超过500个字符的大文本…”,
# (...)
“field1000”:“超过500个字符的大文本…”,
})
断言类型(a)=a
当我运行
flake8
+
hacking
时,我收到一个错误,因为行太大了

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

我想删除文件的其余部分,但我无法在每个
字段x
的末尾放置
#noqa:E501

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

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

你的选择是:

  • 通过将
    #noqa:E501
    放在产生错误的每一行上,忽略该行

  • 忽略整个文件(但这也会关闭所有其他错误),并将
    #flake 8:noqa
    单独放在一行上

  • 通过使用每个文件的
    忽略整个文件中的
    E501

    [flake8]
    per-file-ignores =
         path/to/file.py: E501
    
  • 一般来说,我更喜欢第三个,甚至可能将长字符串隔离到它们自己的文件中,以便忽略



    免责声明:我现在是flake8的维护者,特别是如果它只是一个测试,那么这些字符串需要那么长吗?是的,因为我想复制粘贴旧项目中的JSON,我不想浪费时间删除字符或拆分行。通常,JSON是相同的,但我需要替换为另一个