可以使用 pre-commit 中的 regex 匹配选项来代替 black 的 --include 选项。示例代码如下:
- id: black
name: black
entry: black
language: python
types: [python]
always_run: true
pass_filenames: false
args: [--line-length=79, -q]
exclude: \.svg$|\.pbix|__init__\.py$
+ id: black
name: black
entry: black
language: python
types: [python]
always_run: true
pass_filenames: false
args: [--line-length=79, -q]
exclude: \.svg$|\.pbix|__init__\.py$
files: (?x)
^(?!\.)(?!__init__)(?!.*[._]test).*\.py$
require_serial: true
这里使用文件名的正则表达式来匹配所需的 Python 文件,其中, ^
和 .*\.py$
是必要的,以匹配所有 Python 文件。而 (?!\.)(?!__init__)(?!.*[._]test)
是可选的,它将匹配以下类型的文件:
这样,就可以使用 pre-commit 进行黑化操作,而不必担心文件名是否符合标准。