黑色 --exclude 参数不排除所需文件

Black --exclude argument not excluding desired file(s)

假设我的项目根目录中有以下 python 文件 exclude_from_black.py

print('I want single quotes')

我试图从黑色重新格式化中排除此文件,但 none 以下命令似乎有效:

black --exclude="exclude_from_black.py"
black --exclude="exclude_from_black\.py"
black --exclude="exclude\_from\_black\.py"

根据 Documentationexclude 参数采用正则表达式。我在这里做错了什么?

我认为你应该省略 --exclude 之后的 space 并将正则表达式包装在 /…/.

尝试black --exclude '/exclude_from_black\.py/'

另外,对于调试,-v 应该提供一些关于哪些文件被排除的信息。

刚刚在 black==20.8b1 上尝试了这些示例,一切正常:

black --check --verbose --exclude="exclude_from_black.py" .
# exclude_from_black.py ignored: matches the --exclude regular expression

black --check --verbose --exclude="exclude_from_black\.py" .
# exclude_from_black.py ignored: matches the --exclude regular expression