搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

psf/black

开发工具

强制统一风格的 Python 代码格式化工具,直接改写文件并尽量缩小 diff,适合个人开发者与团队。

42,117
2,967
Python
MIT
创建于 8 年前

项目介绍

Black 是一个有明确立场、尽量减少可选项的 Python 代码格式化工具。它不参考文件原有排版,而是按同一套稳定风格重写整个文件,让不同项目的代码阅读体验一致,并尽量生成最小的 diff,便于代码评审。适用对象是需要自动统一 Python 风格的个人开发者与团队,也支持格式化 Jupyter Notebook。

默认情况下,Black 会检查格式化前后的代码是否生成等价 AST,这一步会拖慢处理速度;如果对结果有信心,可用 --fast 跳过。风格遵循 PEP 8,变更受稳定性策略约束,因此版本升级通常不会带来大范围格式变动。

快速使用

运行 Black 需要 Python 3.11 及以上版本。先安装:

pip install black

如需同时格式化 Jupyter Notebook,再安装扩展:

pip install "black[jupyter]"

按默认风格处理文件或目录:

black {source_file_or_directory}

如果直接作为脚本执行失败,可改用模块方式:

python -m black {source_file_or_directory}

文件会被原地改写。不想安装 Python 的用户,可以从 GitHub 最新 Release 获取用 PyInstaller 构建的独立可执行文件。

配置方式

Black 可以从 pyproject.toml 读取项目级默认值,主要用于自定义 --include 与 --exclude / --force-exclude / --extend-exclude 模式。它本身不要求配置,默认风格已与许多使用 Black 的项目一致;文件配置的完整说明见使用与配置文档。

使用约束

Black 运行时要求 Python 3.11 或更高版本。它刻意限制风格选项,并对边界情况的处理方式和 AST 等价检查有详细文档;遇到看似异常的格式化结果,应先阅读当前风格文档再判断是否为缺陷。项目采用 MIT 许可证。如果要在 README 中展示代码风格标签,可直接使用项目提供的 Markdown 或 reST 片段。

HotRepo 点评

在 2026-11-06 的 Python 语言日榜中,Black 当日新增 12 个 Star、位列该语言榜第 17,仓库总量为 42,118 Star 和 2,965 Fork。这只是单日快照,说明它仍在 Python 榜单中保持可见度,而不是增长趋势。对于一个 2018 年发布、刻意收窄配置面的格式化工具,更值得关注的是它仍出现在 Python 日榜上,同时团队通过项目配置继续采用它的风格。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

Hacker News 讨论

Python's Black is finally non-beta software
▲ 4 · 1 条评论 · 2022年1月29日
Configurable Indent Levels?
▲ 3 · 0 条评论 · 2026年9月30日
Black: The uncompromising Python code formatter
▲ 3 · 0 条评论 · 2024年7月21日