使用 autoflake 精简你的 python代码

1,155 阅读1分钟

一、简介

autoflake 可以从 Python 代码中删除未使用的导入和变量,以及无用的pass语句,以此精简你的代码。

默认情况下,autoflake 仅删除标准库中未使用的模块的导入,其他模块可能有副作用,所以禁止了自动删除,可以使用 --imports 选项指定其他模块要删除未使用的导入:

$ autoflake --imports=django,requests,urllib3 <文件名>

要删除所有未使用的导入(无论它们是否来自标准库),可以使用 --remove-all-unused-imports 选项。

默认情况下,autoflake 禁用了删除未使用的变量,要删除未使用的变量,可以使用 --remove-unused-variables 选项。

二、安装

$ pip install --upgrade autoflake

三、使用

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

可选参数列表:

  • -h, --help 显示帮助信息并退出
  • -c, --check 如果需要更改则返回错误代码
  • -i, --in-place 直接移除更改文件而不是打印差异
  • -r, --recursive 递归目录
  • --exclude 排除匹配文件/目录
  • --imports 指定要删除未引用导入的模块
  • --expand-star-imports 使用未定义名称扩展星号通配符导入,仅在只有一颗星导入时触发文件,如果文件中有 `__all__` 或 `del` 则跳过
  • --remove-all-unused-imports 删除所有未使用的导入(不仅仅是那些来自标准库)
  • --ignore-init-module-imports 排除 __init__.py
  • --remove-duplicate-keys 删除对象中的所有重复键
  • --remove-unused-variables 删除未使用的变量
  • --version 显示程序的版本号并退出

如果你想忽略某些行的导入移除,可以使用 # noqa 注释

from  .endpoints  import  role ,  token ,  user ,  utils   # noqa