文件收集和发现

您可以直接传递 Black 文件,也可以传递目录,Black 会遍历它们,收集要格式化的文件。它会使用包含和排除正则表达式以及它们的修改时间自动确定要格式化或跳过的文件。

忽略未修改的文件

Black 会记住它已经格式化的文件,除非使用了 --diff 标志或代码通过标准输入传递。此信息会保存在每个用户的基础上。文件的具体位置取决于 Black 版本以及运行 Black 的系统。此文件不可移植。在常见操作系统上的标准位置是

  • Windows: C:\\Users\<username>\AppData\Local\black\black\Cache\<version>\cache.<line-length>.<file-mode>.pickle

  • macOS: /Users/<username>/Library/Caches/black/<version>/cache.<line-length>.<file-mode>.pickle

  • Linux: /home/<username>/.cache/black/<version>/cache.<line-length>.<file-mode>.pickle

file-mode 是一个整数标志,用于确定文件是否仅作为 3.6+ 格式化,是否作为 .pyi 格式化,以及是否省略了字符串规范化。

要覆盖所有系统上的这些文件的存放位置,请将环境变量 BLACK_CACHE_DIR 设置为您首选的位置。或者在 macOS 和 Linux 上,将 XDG_CACHE_HOME 设置为您首选的位置。例如,如果您想将缓存放在运行 Black 的目录中,请设置 BLACK_CACHE_DIR=.cache/black。然后 Black 会将上述文件写入 .cache/black。请注意,如果同时设置了 BLACK_CACHE_DIRXDG_CACHE_HOME,则 BLACK_CACHE_DIR 优先级更高。

.gitignore

如果未设置 --excludeBlack 会自动忽略 .gitignore 文件(如果存在)中的文件和目录。

如果您希望 Black 在配置排除规则的同时继续使用 .gitignore,请使用 --extend-exclude