Repolode
PyCQA

PyCQA/autoflake

一个命令行工具,基于 pyflakes 检测并删除 Python 代码中未使用的导入和变量。

Star
953
Fork
100
未关闭 Issue
54
最近提交
3天前

这是什么?

autoflake 用于清理 Python 源码,删除 pyflakes 报告为未使用的导入和变量。默认只移除标准库中未使用的导入,因为其他模块可能有副作用,自动删除并不安全。删除未使用变量和展开通配符导入需要显式开启。

除未使用的导入外,它还能删除无用的 pass 语句和重复的字典键。它可以直接原地修改文件或目录,也可以只输出差异,或在需要修改时以错误码退出,适合用作检查步骤。配置可写入 pyproject.toml 或 setup.cfg,并提供 pre-commit 钩子。

带有 noqa 注释的行会保持原样;在文件顶部加入 skip_file 注释可跳过整个文件。

核心功能

  • 01删除未使用的导入,默认仅限标准库模块。
  • 02通过可选参数删除未使用的变量。
  • 03支持原地修改、差异输出以及用于 CI 的检查模式。
  • 04删除无用的 pass 语句和重复的字典键。
  • 05可通过 pyproject.toml 或 setup.cfg 配置,并支持 pre-commit 集成。

适用场景

  • 提交 Python 代码前清理遗留的无用导入。
  • 在 CI 流程中检查是否存在未使用的导入。
  • 批量清理大型遗留 Python 代码库。
  • 借助 --imports 选项删除指定第三方模块中未使用的导入。

快速上手

  1. 1

    从 PyPI 安装 autoflake

    pip install --upgrade autoflake
  2. 2

    就地删除文件中未使用的导入和变量

    autoflake --in-place --remove-unused-variables example.py

使用前须知

  • 默认只删除未使用的标准库导入;其他模块需要使用 --imports 选项。

收录于专题

标签

常见问题

autoflake 是什么?
一个命令行工具,基于 pyflakes 检测并删除 Python 代码中未使用的导入和变量。 autoflake 用于清理 Python 源码,删除 pyflakes 报告为未使用的导入和变量。默认只移除标准库中未使用的导入,因为其他模块可能有副作用,自动删除并不安全。删除未使用变量和展开通配符导入需要显式开启。
autoflake 可以免费使用吗?用的什么许可证?
autoflake 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
autoflake 还在维护吗?
活跃维护中。autoflake 最近一次提交是在 2026年11月4日。
autoflake 适合用来做什么?
提交 Python 代码前清理遗留的无用导入。 在 CI 流程中检查是否存在未使用的导入。 批量清理大型遗留 Python 代码库。 借助 --imports 选项删除指定第三方模块中未使用的导入。
autoflake 怎么安装和运行?
从 PyPI 安装 autoflake: pip install --upgrade autoflake 就地删除文件中未使用的导入和变量: autoflake --in-place --remove-unused-variables example.py
在哪里获取 autoflake?
源代码和安装说明在 GitHub 上:https://github.com/PyCQA/autoflake

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目