如何配置 black 以对不同的文件扩展名使用不同的格式规则?

How do I configure black to use different formatting rules for different file extensions?

我将黑色用于格式化普通 .py 文件以及 Jupyter Notebook 文件 (.ipynb)。对于笔记本,我想要更短的 line-length.

是否可以为带黑色的不同文件扩展名指定不同的格式规则?

您可以为 .py.ipynb 文件创建两个单独的文件,并分别 运行 它们

来自docs的一些有用的标志:

--config FILE Read configuration from FILE path.

--include TEXT A regular expression that matches files and directories that should be included on recursive searches.

因此,要格式化多种类型的文件,运行类似于:

python -m black --config pyproject.py.toml --include '*.py' src
python -m black --config pyproject.ipynb.toml --include '*.ipynb' src

您还可以在 toml 文件中指定 include 字段。它也在文档中:

[tool.black]
line-length = 88
target-version = ['py37']
include = '\.pyi?$'