前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python - 好用第三方库 isort

Python - 好用第三方库 isort

作者头像
小菠萝测试笔记
发布2021-11-16 14:54:48
6200
发布2021-11-16 14:54:48
举报

背景

PEP8 有建议 Python 模块中 import 的导入顺序

  1. 首先引入标准库里的模块
  2. 然后引入第三方模块
  3. 最后引入自己的模块

属于同一个部分的 import 语句按字母顺序排列

isort 的作用

可以自动将 Python 模块中的 import 进行排序,并自动按类型划分以满足上面说的 PEP8 规范

安装 isort

代码语言:javascript
复制
pip install isort

实际效果

没有 isort 之前

代码语言:javascript
复制
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 命令
代码语言:javascript
复制
isort isort_test.py
isort 之后
代码语言:javascript
复制
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 的具体使用

指定文件
代码语言:javascript
复制
isort mypythonfile.py mypythonfile2.py
当前目录所有文件
代码语言:javascript
复制
isort .
查看修改建议,但不会修改文件
代码语言:javascript
复制
isort mypythonfile.py --diff

常用命令行参数

--check-only、-c
  • 使用 -c 运行代码来验证代码的格式是否正确
  • 任何包含错误排序和/或格式导入的文件都将输出到 stderr
--skip、-s

跳过指定文件,可以是文件名、目录名、文件路径

--force-single-line-imports

强制所有 import 都出现在单行上

官方文档

实在太多命令行参数了,用到再查吧,默认不用参数也完全够用了

代码语言:javascript
复制
https://pycqa.github.io/isort/docs/configuration/options.html
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-11-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • isort 的作用
  • 安装 isort
  • 实际效果
    • 执行 isort 命令
      • isort 之后
      • isort 的具体使用
        • 指定文件
          • 当前目录所有文件
            • 查看修改建议,但不会修改文件
            • 常用命令行参数
              • --check-only、-c
                • --skip、-s
                  • --force-single-line-imports
                    • 官方文档
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档