python - flake8 仅对代码块禁用 linter
问题描述
我在 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
声明的块。
我想对文件的其余部分进行 lint,并且不能在每个文件的末尾放置fieldx
一个# noqa: E501
.
有人知道我该如何解决这个问题?谢谢
解决方案
flake8 中没有办法忽略代码块
您的选择是:
# noqa: E501
通过放置它来忽略产生错误的每一行忽略整个文件(但这也会关闭所有其他错误),并单独
# flake8: noqa
一行通过使用忽略
E501
整个文件per-file-ignores
:[flake8] per-file-ignores = path/to/file.py: E501
通常我更喜欢第三个,甚至可能将你的长字符串隔离到他们自己的文件中以被忽略
免责声明:我是当前的 flake8 维护者
推荐阅读
- django - Django 管理员在新条目或模型更新时发送电子邮件
- python - Plotly.py 错误在堆积条形图上使用离散颜色数据和悬停文本中的 customdata
- google-apps-script - 某些设备上的 G 脚本性能/过载
- audit-logging - Spring Boot 应用程序中的审计日志跟踪请求/响应正文
- ios - TableView 单元格重复 Swift
- javascript - 如何在 Javascript 中创建搜索栏以检查项目是否与输入匹配?
- mysql - 使用 SQL 查找表空闲时间
- macos - 返回两个特殊字符之间的文本(竖线)
- azure - 如何获取 Azure DevOps Artifact 使用者的列表?
- r - 投资任何权重的 R LP