You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pre-commit分析中排除多个文件夹及文件模式?

解决pre-commit多路径/文件排除问题

pre-commit的exclude字段接受正则表达式字符串,而非数组,你可以用正则的|(逻辑或)来组合多个要排除的路径/文件模式。

针对你的项目结构,要排除src/poc/、根目录tests/文件夹和根目录conftest.py文件,配置如下:

exclude: ^(src/poc/|tests/|conftest\.py)$

repos:
  - repo: https://github.com/pycqa/isort
    rev: 5.11.4
    hooks:
      - id: isort
      # 其他hooks...

正则模式说明:

  • ^:匹配路径的开头,避免误匹配路径中间包含关键字的文件(比如mypoc.py不会被误排除)
  • |:分隔多个独立的排除规则,满足任意一个就会被排除
  • conftest\.py:用\.转义点号,因为正则里.代表任意字符,转义后才会匹配实际的文件名
  • 路径末尾的/:明确匹配文件夹,避免和同名文件混淆

如果需要添加更多排除项,直接用|追加即可,比如再排除resources/文件夹:

exclude: ^(src/poc/|tests/|conftest\.py|resources/)$

注意:

  • 这个全局exclude会作用于所有hooks;如果某个hook需要单独设置排除规则,可以在该hook的配置里单独添加exclude字段,覆盖全局设置。

内容的提问来源于stack exchange,提问作者Kashyap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:05:39