或你在python项目开发可能见过各种各样的import,比如import不明的import *:
又比如import顺序混乱以至于都不清楚哪些包/模块是否已经被import过了:
在开发过程中,良好的代码风格和规范可以使代码更加可读、维护更加方便。Python 提供了多种工具来帮助开发者保持代码的一致性和整洁度。其中,isort 是一个专门用于整理导入语句的工具,可以帮助开发者将代码中的导入语句按照规定的顺序排序,并自动去除未使用的导入。
功能介绍
isort 主要提供以下功能:
- 自动排序导入:根据用户设置的规则,对代码文件中的导入语句进行排序。
- 分组导入:将导入语句分成标准库导入、第三方库导入和本地模块导入三个组,并进行排序。
- 自动去除未使用的导入:isort 可以自动去除代码中未使用的导入语句。
- 自动合并导入:isort 会将同一个模块的多个导入合并成一个导入。
- 自定义排序规则:isort 提供了多种选项,允许开发者自定义导入语句的排序规则。
安装
您可以通过 pip 命令安装 isort:
pip install isort
安装成功后,您可以在命令行中输入 isort –version 来检查 isort 的版本。
使用教程
命令行使用
isort 提供了丰富的命令行选项。最基本的用法是指定一个或多个文件、目录,然后让 isort 对其进行整理:
isort your_file.py
您也可以对整个目录中的所有 Python 文件进行整理:
isort your_directory/
常见的命令行选项包括:
- –check:检查文件中导入语句的顺序是否正确,而不对文件进行修改。如果存在不符合规范的导入语句,命令会返回错误代码。
- –diff:显示文件在整理之前和之后的差异,而不对文件进行修改。
- –profile:指定排序规则的配置文件,如 black 或 google。
- –multi-line:指定多行导入的格式。
以下是一个指定了–multi-line=VERTICAL多行导入的格式效果:
isort --multi-line=VERTICAL your_file.py
在代码中使用
isort 也可以作为一个库在 Python 代码中使用,因为isort也是一个第三方库。下面是一个示例:
from isort import file
# 对指定文件进行整理
file("your_file.py")
# 对指定目录中的所有文件进行整理
file("your_directory/", recursive=True)
配置文件
isort 支持在项目根目录中放置一个名为 .isort.cfg 的配置文件,以便自定义排序规则和选项。您可以在其中设置排序方式、组划分等选项。示例如下:
[settings]
line_length = 88
profile = black
known_third_party = pandas,numpy
known_first_party = mypackage
总结
isort 是一个强大的工具,可以帮助开发者轻松整理代码中的导入语句。通过使用 isort,代码的可读性和一致性得到了提高,也让让团队协作更加高效。