Ruff:修改 Python 代码后,先检查再修复

集成 Python 静态检查与格式化的工具。先查看诊断和格式差异,再审查自动修复,避免把静态检查通过等同业务正确。

创作者:Astral / Charles Marsh and Ruff contributors0.17.32026年10月29日MIT源代码仓库
前往发布方获取
WindowsmacOSLinux

使用要求

受支持的 Windows、macOS 或 Linux 终端、匹配平台的官方包和待检查 Python 源文件。通过 pip 安装需要受支持的 Python 环境,也可选官方独立发行包。

快速开始

2026 年 10 月 29 日核验的稳定版为 10 月 27 日发布的 0.17.3。按官方安装指南或发行页选择匹配平台的包;受支持的 Python 环境可用 python -m pip install ruff==0.17.3。先执行 ruff check --no-fix --no-fix-only path/to/code 和 ruff format --check path/to/code。这两种模式不改写被检查的源文件,但 Ruff 仍可能写入缓存。Boloop 本次未安装或运行此版本。

集成 Python 静态检查与格式化的工具。先查看诊断和格式差异,再审查自动修复,避免把静态检查通过等同业务正确。

先看检查结果,再决定是否改写

Ruff 将 Python 静态检查与格式化放在同一工具中。修改代码后,可先用 ruff check --no-fix --no-fix-only 查看已启用规则的诊断,再用 ruff format --check 判断格式是否需要变化。后者不改写源文件,与会原地格式化的 ruff format 不同。

让规则和修复保持可审查

明确选择适合项目的规则,不把所有可用规则都当作必需标准。自动修复仍是一份代码改动,应查看差异。issue 29682 中,patrick-5546 报告 Ruff 0.17.2 的 PT009 转换会把正则断言改为 re.search,却没有补上 import re;贡献者认可该报告。截至 2026 年 10 月 29 日,该问题仍开放,本站未确认 0.17.3 已修复。它针对某项转换,不代表所有静态检查都会出错。

补上行为证据

lint 通过不能证明用户流程和失败恢复可用。可结合相关测试及AI 生成代码验收清单,分别记录静态问题与实际行为。本推荐依据官方文档和署名反馈,Boloop 本次没有运行或测量 Ruff 的性能。

资料来源与延伸阅读

  1. Ruff official project官方资料 · Astral / Ruff contributors
  2. Ruff installation官方资料 · Astral / Ruff contributors
  3. Formatter check versus in-place formatting官方资料 · Astral / Ruff contributors
  4. Ruff 0.17.3 release官方资料 · Astral / Ruff contributors
  5. PT009 missing import re #29682使用记录 · patrick-5546; ntBre