一、简介
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