isort

2025-12-11 0 743


阅读最新文档 – 浏览GitHub代码存储库


isort您的进口,因此您不必这样做。

isort是一个Python实用程序 /库,可按字母顺序和自动分为单个部分和类型分离导入。它为各种编辑器提供了命令行实用程序,Python库和插件,以快速对所有导入进行分类。它需要Python 3.9+运行,但也支持格式化Python 2代码。

  • 现在从浏览器中尝试isort !
  • 使用黑色?请参阅isort和黑色兼容性指南。
  • 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之后:

 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

安装isort很简单:

pip install isort 

使用isort

从命令行

在特定文件上运行:

 isort mypythonfile.py mypythonfile2.py

递归应用:

 isort .

如果启用了GlobStar, isort 。等同于:

 isort ** / * .py

查看建议的更改而不应用它们:

 isort mypythonfile.py --diff

最后,要与一个项目进行isort运行,只有在不引入语法错误时应用更改:

 isort --atomic .

(注意:默认情况下,这是禁用的,因为它可以防止isort反对使用其他版本的Python编写的代码。)

从python内部

isort

isort .file(\”pythonfile.py\”)\”>

 import isort

isort . file ( \"pythonfile.py\" )

或者:

isort

sorted_code = isort .code(\”import b\\nimport a\\n\”)\”>

 import isort

sorted_code = isort . code ( \"import b \\n import a \\n \" )

为您的首选文本编辑器安装isort

已经编写了几个插件,可以在各种文本编辑器中使用isort 。您可以在isort Wiki上找到其中的完整列表。此外,我将热情地接受包括其他文本编辑器的插件,并在通知时为它们添加文档。

多线输出模式

您会在“ Multi_line_output”设置上方注意到。此设置定义了从导入包装中扩展到LINE_LENGTH限制并具有12个可能的设置时如何从Imports包装中进行定义。

缩进

要更改恒定凹痕的外观 – 只需以以下可接受的格式更改凹痕属性:

  • 您想要的空间数量。例如:4将导致标准4空间压痕。
  • 选项卡
  • 一个逐字的字符串,周围有引号。

例如:

 \"    \"

相当于4。

对于使用括号的导入样式,您可以控制最后一次导入后使用Incluest_trailing_comma选项(默认为false)之后包含尾随逗号。

智能平衡的多行进口

从isort 3.1.0开始,已经添加了对平衡多线导入的支持。使用此启用, isort将将导入长度动态地更改为产生最平衡网格的长度,同时保持在定义的最大进口长度以下。

例子:

 from __future__ import ( absolute_import , division ,
                        print_function , unicode_literals )

将生产而不是:

 from __future__ import ( absolute_import , division , print_function ,
                        unicode_literals )

要在您的配置中启用此集balanced_wrapping到true或将-e选项传递到命令行实用程序中。

自定义部分和订购

isort提供了配置选项,以更改进口方式的组织,订购或分组的各个方面。

单击此处以获取所有这些选项的概述。

跳过进口的处理(在配置之外)

要使isort忽略单个导入,只需在包含文本isort导入行的末尾添加注释:Skip:

 import module  # isort :skip

或者:

isort:skip
yo,
hey)\”>

 from xyz import ( abc ,  # isort :skip
                 yo ,
                 hey )

要使isort跳过整个文件,只需添加isort :SKIP_FILE到模块的文档字符串:

isort:skip_file
\”\”\”

import b
import a\”>

 \"\"\" my_module.py
    Best module ever

   isort :skip_file
\"\"\"

import b
import a 

从多个文件中添加或删除导入

可以运行或配置isort自动添加 /删除导入。

在此处查看完整的指南。

使用isort验证代码

仅检查选项

isort也可以用来验证通过使用-C运行它正确格式化代码。任何包含错误排序和/或格式导入的文件都将输出到stderr。

isort **/*.py -c -v

SUCCESS: /home/timothy/Projects/Open_Source/ isort / isort _kate_plugin.py Everything Looks Good!
ERROR: /home/timothy/Projects/Open_Source/ isort / isort / isort .py Imports are incorrectly sorted.\”>

 isort ** / * .py -c -v

SUCCESS: /home/timothy/Projects/Open_Source/ isort / isort _kate_plugin.py Everything Looks Good !
ERROR: /home/timothy/Projects/Open_Source/ isort / isort / isort .py Imports are incorrectly sorted.

可以使用的一个很棒的地方是@acdha的预要git挂钩,例如这个挂钩:

https://gist.*gi**thub.com/acdha/8717683

这可以帮助确保整个项目中的一定水平的代码质量。

git钩

isort提供了一个挂钩功能,可以将其集成到您的GIT预签名脚本中,以在进行之前检查Python代码。

更多信息在这里。

Setuptools集成

安装后, isort启用了一个setUptools命令,该命令检查项目声明的Python文件。

更多信息在这里。

传播这个词

将此徽章放在存储库的顶部,让其他人知道您的项目使用isort 。

对于readme.md:

 [ ![ Imports: isort ] ( https://img.s*hiel*d*s.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336 )] ( https://pycqa.git*h**ub.io/isort/ )

或readme.rst:

.. image :: https://img.s*hiel*d*s.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
    :target: https://pycqa.git*h**ub.io/isort/ 

安全联系信息

要报告安全漏洞,请使用Tidelift安全联系人。 Tidelift将协调修复和披露。

为什么isort ?

isort只是代表进口排序。它最初被称为“ sortimports”,但是我厌倦了键入额外的角色,并且来到实现骆驼的意识并不是Pythonic。

我写了isort因为在我过去在经理工作的组织中,一天来了,并认为所有代码都必须按字母顺序排序的导入。代码基础很大 – 他的意思是我们要手工做。但是,作为程序员 – 我懒得花8个小时无意识地执行一个功能,但懒得花16小时自动化它。我获得了开源sortimports的许可,我们在这里:)


通过Tidelift订阅获得专业支持的isort

作为Tidelift订阅的一部分,可以提供对isort的专业支持。 Tidelift为软件开发团队提供了购买和维护其软件的单一来源,并提供了最了解它的专家,同时与现有工具无缝集成。


谢谢,希望您发现isort有用!

〜Timothy Crosley

下载源码

通过命令行克隆项目:

git clone https://github.com/PyCQA/isort.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 isort https://www.zuozi.net/34422.html

hug
上一篇: hug
refact
下一篇: refact
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务