如何仅在特定文件中启用Ruff的pydocstyle规则(如D103)?
解决Ruff中仅在特定文件启用D103规则的方案
针对大型项目中逐步推进pydocstyle规则、避免逐个文件添加忽略的需求,有两个更高效的方案:
方案一:全局忽略D103,在目标文件中手动启用
这是最灵活的方式,适合目标文件分散在不同目录的场景:
- 修改项目根目录的
pyproject.toml,全局忽略D103,但保留其他D类规则的检查:
[tool.ruff] select = ["D"] ignore = ["D103"] # 全局跳过D103检查
- 在需要强制执行D103的文件顶部添加单行注释,启用该规则:
# ruff: enable: D103 # 你的代码内容...
这样只有添加了该注释的文件会触发D103的检查,其余文件默认忽略,无需逐个添加忽略配置。
方案二:用目录级配置批量启用
如果所有需要检查D103的文件都集中在某个(或某几个)目录下,可以用目录级配置文件来批量覆盖全局规则:
- 保持根目录的
pyproject.toml全局忽略D103:
[tool.ruff] select = ["D"] ignore = ["D103"]
- 在目标文件所在的目录下创建新的
pyproject.toml,取消该目录下的D103忽略:
[tool.ruff] # 继承根目录的select配置,仅覆盖ignore规则 ignore = []
这样该目录下的所有文件都会自动检查D103,无需逐个修改文件注释。
这两个方案都避免了手动列出数百个文件的繁琐操作,完全适配“逐步推进规则”的需求。
内容的提问来源于stack exchange,提问作者Frank Meulenaar
相关产品推荐
相关产品推荐

