如何在Ruff 0.0.265中忽略单个函数的指定规则检查?
忽略指定函数的Ruff规则检查方法
针对你使用的ruff==0.0.265,要忽略convert_py4j_exception()函数的C901(复杂度超标)和PLR0911(return语句过多)规则,且不全局关闭规则,有两种常用方案:
方案一:在函数代码中添加局部忽略注释
直接在函数定义处添加# noqa注释,指定要忽略的规则码,仅对该函数生效:
方式1:函数上方单独注释
# ruff: noqa: C901, PLR0911 def convert_py4j_exception(): # 函数逻辑代码
方式2:函数定义行末尾添加注释
def convert_py4j_exception(): # noqa: C901, PLR0911 # 函数逻辑代码
这种方式精准控制单个函数的规则忽略,不会影响文件内其他函数或全局配置。
方案二:通过项目配置文件局部排除
如果不想在代码中添加注释,可以在项目的pyproject.toml(或Ruff支持的其他配置文件)中,针对目标文件设置规则忽略:
[tool.ruff.lint] # 保留原有其他配置 per-file-ignores = { "src/exceptions.py": ["C901", "PLR0911"] }
注意:这种方式会忽略整个src/exceptions.py文件内的这两个规则,如果该文件还有其他函数需要检查,建议优先使用方案一。
内容的提问来源于stack exchange,提问作者vfrank66
相关产品推荐
相关产品推荐

