Python - 好用第三方库 isort
背景
PEP8 有建议 Python 模块中 import 的导入顺序
- 首先引入标准库里的模块
- 然后引入第三方模块
- 最后引入自己的模块
属于同一个部分的 import 语句按字母顺序排列
isort 的作用
可以自动将 Python 模块中的 import 进行排序,并自动按类型划分以满足上面说的 PEP8 规范
安装 isort
pip install isort
实际效果
没有 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 命令
isort isort_test.py
isort 之后
from __future__ import absolute_import import os import sys from my_lib import Object, Object2, Object3 from third_party import ( lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8, lib9, lib10, lib11, lib12, lib13, lib14, lib15, ) print("Hey") print("yo")
可读性和可维护性提高不要太多!
isort 的具体使用
指定文件
isort mypythonfile.py mypythonfile2.py
当前目录所有文件
isort .
查看修改建议,但不会修改文件
isort mypythonfile.py --diff
常用命令行参数
--check-only、-c
- 使用 -c 运行代码来验证代码的格式是否正确
- 任何包含错误排序和/或格式导入的文件都将输出到 stderr
--skip、-s
跳过指定文件,可以是文件名、目录名、文件路径
--force-single-line-imports
强制所有 import 都出现在单行上
官方文档
实在太多命令行参数了,用到再查吧,默认不用参数也完全够用了
https://pycqa.github.io/isort/docs/configuration/options.html
标签:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-11-13 Docker 实战(3)- 搭建 Gitlab 容器并上传本地项目代码
2020-11-13 Docker - 解决 gitlab 容器上的项目进行 clone 时,IP 地址显示一串数字而不是正常 IP 地址的问题
2020-11-13 Docker - 解决同步容器与主机时间报错:Error response from daemon: Error processing tar file(exit status 1): invalid symlink "/usr/share/zoneinfo/UTC" -> "../usr/share/zoneinfo/Asia/Shanghai"
2020-11-13 Docker - 解决容器内获取的时间和主机的时间不一样的问题