阅读过《Google 开源项目风格指南——Python 语言规范》的同学都一定看到过,导入包是有一定顺序的。如果没有阅读过可以点这里查看。

这一重复但又必要的工作是否有工具帮我们完成呢?
可以试试 isort。
isort
项目地址
https://github.com/timothycrosley/isort
安装
1
| python3 -m pip install isort -i https://mirrors.aliyun.com/pypi/simple
|
因为这个工具在任何项目中都会使用到,所以就在系统的默认 python 环境中安装。如果你只是想尝试一下,也可以在虚拟环境中安装:
使用
我们先来看一下使用效果。
使用前:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| 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")
|
使用后:
1 2 3 4 5 6 7 8 9 10 11 12 13
| 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")
|
我们可以在命令行中使用:
1
| isort mypythonfile.py mypythonfile2.py
|
或者
使用 isort .
会把当前目录及子目录全部格式化 import,有点类似 git 命令中的 git add .
。
在 python 中使用:
1 2 3 4
| import isort
isort.file("pythonfile.py")
|
在 PyCharm 中使用
如果我们不想每次格式化导入使用 isort 命令的话,可以配合 pycharm 使用。
首先我们需要确认一下 isort 的安装位置:
Mac 系统可以这样查看:
1 2
| ➜ ~ which isort /Library/Frameworks/Python.framework/Versions/3.8/bin/isort
|
然后需要在 PyCharm 中的 Preferences -> Tools -> Files Watchers 中添加新的内容,具体可以看下图:

这样每次在 PyCharm 保存文件的时候会自动格式化 import 导入的库,比较方便。