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

8

我使用黑色对格式进行处理,包括普通的.py文件和Jupyter Notebook文件(.ipynb)。对于Notebook文件,我希望有更短的行长

是否可以在black中为不同的文件扩展名指定不同的格式规则?


你使用 pyproject.toml 配置 black 吗?还是只用 CLI 标志? - Alex Kosh
我是一个 pyproject.toml 时尚达人。 - william_grisaitis
1个回答

11

你可以创建两个单独的文件来运行.py.ipynb文件。

文档中提供了一些有用的标志:

--config FILE 从 FILE 路径读取配置。

--include TEXT 正则表达式,匹配应在递归搜索中包括的文件和目录。

因此,要格式化多种类型的文件,请运行类似以下内容的命令:

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?$'

1
有没有办法在一个单独的toml文件中指定这两个python -m black --config命令的等效方式?我知道这些命令指向两个不同的文件,但如果black能够根据文件扩展名(.py或.ipynb)有条件地应用格式规则而无需更改命令,那将是很好的。另外,我还要提到我正在使用vscode的Black扩展,所以我可以通过按键绑定将格式应用于.py文件或.ipynb单元格。 - Marktodisco

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接