isort 是一个自动对 Python 文件中的 import 语句进行排序的工具,遵循 PEP8 规范或自定义规则,有助于提高代码可读性和一致性。
安装 :
pip install isort安装完成后,isort 命令即可在命令行中使用。
常见应用场景:
(1)整理杂乱无章的导入语句,使之自动按标准顺序排序。
(2)团队协作中统一导入风格,避免手动排序不一致。
(3)与 black、autopep8 等工具一起使用,实现全自动代码格式化。
(4)CI 检查:可集成到 Git Hook 或 CI 工具中检查导入是否规范。
◆ ◆ ◆
核心概念
1、导入分类
isort 将导入分为若干组(标准库、第三方库、本地模块等)。
2、自动排序
默认根据 PEP8 的顺序,自动添加换行分组。
3、支持配置文件
支持 .isort.cfg、pyproject.toml 等配置方式,自定义规则。
4、兼容 black
isort 提供 --profile black 参数,使其排序风格兼容 black 格式化风格。
◆ ◆ ◆
基本用法
1、对单个文件进行排序
isort example.py2、对整个项目目录进行排序
isort .3、检查而不修改(只输出是否符合规范)
isort --check-only example.py4、与 配合使用(推荐)
isort --profile black example.py
black example.py5、在 Python 代码中调用
import isort
isort.file("example.py")◆ ◆ ◆
进阶技巧
配置文件统一规则(如 pyproject.toml):
[tool.isort]
profile = "black"
line_length = 88
known_third_party = ["requests", "flask"]
known_first_party = ["myproject"]
multi_line_output = 3
include_trailing_comma = true将上述配置写入 pyproject.toml 后,运行 isort 将自动读取并应用。
◆ ◆ ◆
常用命令参数解释
--check-only
检查导入顺序是否符合规范,但不自动修改。
--diff
显示修改前后的差异(适合配合 --check-only 使用)。
--recursive
递归处理目录(现代版本默认支持,无需手动加)。
--profile
指定排序风格,如 black、django、google 等。
--skip
跳过某些文件或目录,例如:--skip venv
--filter-files
配合目录时,只处理指定后缀(如 .py)的文件。
◆ ◆ ◆
补充说明
1、isort 可配合 pre-commit 钩子,实现 Git 提交前自动排序导入。
2、与 black 一起使用时,请先运行 isort,再运行 black。
3、如果你使用的是 VS Code,可以通过插件设置让保存文件时自动执行 isort。
4、isort 是格式化工具,不改变代码功能,适用于所有阶段的项目开发。
“点赞有美意,赞赏是鼓励”
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.