个人学习记录,若有侵权,请联系删除。
一、介绍
isort是一个实用的Python库,用于按照字母表顺序对imports进行排序,并自动按类型(标准库/第三方库/自己的模块/.......)划分部分。它为各种编辑器提供了命令行程序、python库和插件以快速对所有导入进行排序。它需要python3.7+才能运行,但也支持格式化python2代码。
(资料图)
先看官网提供的例子,了解isort的魅力之处
使用isort格式化后
二、安装
安装isort跟安装其他第三库的方式是一样,只需在命令行中输入:
三、使用
1、特定文件
示例:未使用isort时的代码文件learning.py
①方法一:在文件的路径下新建一个py文件,运行成功后即可将对应的文件导入模块进行排序
②方法二:在命令行使用命令
通过上述操作即可获取排序后的文件
2、递归目录
使用以下指令可以对目录下的所有文件导入模块进行排序
或
3、查看建议的更改而不修改文件
示例
四、vscode
在vscode进行配置,保存时即对导入模块进行排序
1、安装isort,方法见二
2、对vscode的setting进行配置
①使用快捷键Ctrl + Shift + P,搜索Preferences: Open Settings(UI)
②搜索OnSave,点击Edit in setting.json
③修改setting.json的配置
五、操作注释
在单个文件中配置isort流的最基本方法是操作注释。这些注释在解析过程中由isort解析器拾取和解释。
1、isort: skip_file:跳过整个文件
2、isort: skip
如果与导入语句放在同一行(或a的延续内),isort将不会对此导入进行排序
3、isort: off
关闭isort解析。语句后的每一行都将保持不变地传递,直到注释或文件结束
4、isort: on
重新打开isort解析。这只有在文件中存在更高的注释时才有意义,允许在其他排序的导入块周围拥有未排序的导入块。
5、isort:split
告知isort当前排序部分已完成,并且所有将来的导入都属于新的排序分组。
6、dont-add-imports
不自动将导入添加到此文件,即使设置了--add-imports也是如此
7、dont-add-import
不自动添加特定的导入,即使--add-imports也是如此
8、isort -a
向所有文件添加导入
仅将导入添加到已导入的文件
9、isort --rm
从多个文件中删除导入