flake8 仅对一段代码禁用 linter
flake8 disable linter only for a block of code
我在 python 中有一个文件,例如:
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 忽略。但我只想从 linter 中排除声明 a
的块。
我想检查文件的其余部分,我不能在每个 fieldx
的末尾放置一个 # noqa: E501
.
有人知道我该如何解决这个问题吗?
谢谢
flake8 没有办法忽略代码块
您的选择是:
通过在其上放置 # noqa: E501
来忽略产生错误的每一行
忽略整个文件(但这也会关闭所有其他错误),# flake8: noqa
单独一行
忽略整个文件中的 E501
使用 per-file-ignores
:
[flake8]
per-file-ignores =
path/to/file.py: E501
通常我更喜欢第三个,甚至可能将您的 long-strings 隔离到他们自己的文件中以被忽略
免责声明:我是当前的 flake8 维护者
我在 python 中有一个文件,例如:
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 忽略。但我只想从 linter 中排除声明 a
的块。
我想检查文件的其余部分,我不能在每个 fieldx
的末尾放置一个 # noqa: E501
.
有人知道我该如何解决这个问题吗? 谢谢
flake8 没有办法忽略代码块
您的选择是:
通过在其上放置
# noqa: E501
来忽略产生错误的每一行忽略整个文件(但这也会关闭所有其他错误),
# flake8: noqa
单独一行忽略整个文件中的
E501
使用per-file-ignores
:[flake8] per-file-ignores = path/to/file.py: E501
通常我更喜欢第三个,甚至可能将您的 long-strings 隔离到他们自己的文件中以被忽略
免责声明:我是当前的 flake8 维护者