之前也在vscode的插件名单中,看到和这个相同名称的vscode插件,针对python语言的。但是我之前也没细看他到底是干嘛用的,我觉得vscode既然推荐了,而且还是Microsoft开发的,那肯定是优秀的包。索性就安装了。
那问题来了。这个包到底是用来干嘛的。可得好好研究研究了。
isort
包是将python模块中的import部分代码,按照PEP8的建议进行规范化。
PEP8建议python模块的import导入顺序如下:
比如说,下面的代码就是你的代码。看起来乱糟糟的奥~,其中
my_lib
是你自己的包。os、sys
之类的是系python的标准库。third_party
是第三方的包。假设这个代码文件名为example.py
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")
print("公众号: 统计学人")
这个时候,需要安装isort
,如果没有安装,运行pip install isort
进行安装。
然后在终端里面,输入:isort example.py
,遮掩就把你的py文件的导入包部分规范化了。就像是这样:
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 mypythonfile.py mypythonfile2.py
。isort .
或者isort **/*.py
。这两句是等效的。感觉最好是使用isort **/*.py
吧,使用isort .
需要开启globstar
。不一定会成功。isort mypythonfile.py --diff
。会显示文件改变的前后差异。import isort
isort.file("pythonfile.py")
或者这么做:
import isort
sorted_code = isort.code("import b\nimport a\n")
isort
.pip install isort
Q: “我不是杠啊,就一个规范化python导入模块的包,有必要写一篇文章来介绍么?python规范化有必要吗“
A:其实就2个方面吧:
有些包,可以不用,但是不能不知道。
就像是吃饭、看书一样
饭一顿吃完,下一顿还要吃;
书一本看完了,随着时间的流逝,会忘记。
但是吸收到的东西,都将带给我们一些能量。
这也是做这个系列的初衷。
ok
以上就是本文的全部内容了
如果你喜欢这个系列的文章
欢迎关注我,微信公众号:【统计学人】
下一篇文章
我们继续见面