介绍
isort 是 Python 的一个用来整理 import 导入的工具,也是一个第三方库。
分组和排序的一些原则:
-
按照内置库、第三方库、自己的模块来分组排序
-
按字母顺序排序
-
同一个模块的 import 会自动汇聚在一起
通过这样一个工具的整理,让大家看你的代码的时候,一眼就能知道哪一部分是什么库,也会让代码更清晰。
isort 也可以和其他工具配合,常见的比如 black、常见的 IDE(VSCode, Pycharm),还为 pre-commit 提供了官方支持。
示例
isort 之前:
from my_lib import Object import os from my_lib import Object3 from my_lib import Object2 import sys from third_party import lib15, lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8, lib9, lib10, lib11, lib12, lib13, lib14 import sys from __future__ import absolute_import from third_party import lib3 print("Hey") print("yo")
isort 之后
from __future__ import absolute_import import os import sys from third_party import (lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8, lib9, lib10, lib11, lib12, lib13, lib14, lib15) from my_lib import Object, Object2, Object3 print("Hey") print("yo")
安装 isort
pip install isort
使用 isort
在命令行运行
指定文件
isort mypythonfile.py mypythonfile2.py
递归生效
isort .
如果只是想预览,不实际修改文件,可以使用 --diff
参数
isort mypythonfile.py --diff
只在不引入语法错误的前提下进行排序,可以使用 --atomic
参数
isort --atomic .
在 Python 代码里运行
import isort isort.file("pythonfile.py")
或者
import isort sorted_code = isort.code("import b\nimport a\n")
配置文件示例
比如我们从一个模块里面导入多个模块、类、函数的时候,会非常长,希望 isort 能帮我们自动换行,
命令行模式,可以使用 --multi-line=3
来整理
isort somefile.py --multi-line=3
isort 前
from third_party import lib15, lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8, lib9, lib10, lib11, lib12, lib13, lib14
isort 后
from third_party import ( lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8, lib9, lib10, lib11, lib12, lib13, lib14, lib15 )
这样就可以整理好 import,但是每次都要打么多字是不推荐的,这个时候就可以使用配置文件,可以把配置写在 pyproject.toml
里面:
[tool.isort] multi_line_output = 3
这样每次都只要用同一个命令就行了,自定义的东西也可以配置化,方便后续管理、分享:
isort .
题外话
当下这个大数据时代不掌握一门编程语言怎么跟的上脚本呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典