0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Isort:自動整理 import 的超實用工具教程

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-31 15:09 ? 次閱讀

isort 是一個Python的實用程序/庫,它會按字母順序?qū)?import)的庫進行排序,并自動分組。它提供多種使用方式,包括命令行、Python調(diào)用等。

它基于Python 3.6+實現(xiàn),但也支持格式化Python 2代碼。

圖片

在使用 isort 格式化你的 import 之前,你的代碼可能是長這樣的:

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")

雜亂無章的格式瞬間變得井然有序,可見這是一款多么優(yōu)秀的整理工具,下面就來介紹這個工具的安裝及使用過程,及進階用法。

1.準備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。

**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細指南。

請選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install isort

如果你需要讓他支持對 requirements.txt 的整理,請這樣安裝:

pip install isort[requirements_deprecated_finder]

2.使用 isort 整理你的python引用

isort 有2種使用方法,一種是從命令行直接針對py文件進行整理、另一種是在Python內(nèi)導入 isort 進行整理。

命令行整理

要在特定文件上運行 isort,請在命令行執(zhí)行以下操作:

isort mypythonfile.py mypythonfile2.py
# 或
python -m isort mypythonfile.py mypythonfile2.py

要對本文件夾遞歸進行isort整理,請執(zhí)行以下操作:

isort .
# 或
python -m isort .

要查看更改建議的而不直接應(yīng)用它們,請執(zhí)行以下操作:

isort mypythonfile.py --diff

如果你要對項目自動運行isort,但是希望僅在未引入語法錯誤的情況下應(yīng)用更改:

isort --atomic .

(注意:這在默認情況下是禁用的,因為它阻止了 isort 去整理不同版本的Python代碼。)

從Python內(nèi)部

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

或者:

import isort
sorted_code = isort.code("import bnimport an")

3. 智能平衡格式化

從 isort 3.1.0 開始,添加了對平衡多行導入的支持。啟用此選項后,isort 將動態(tài)地將導入長度更改為生成最平衡網(wǎng)格的長度,同時保持低于定義的最大導入長度。

開啟了平衡導入的格式化:

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

未開啟平衡的格式化:

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

要啟用此設(shè)置, 在你的配置設(shè)置 ** balanced_wrapping ** = **True或 通過命令行添加-e ** 參數(shù)執(zhí)行整理。

4.跳過某個import

要使 isort 忽略單個 import,只需在包含文本的導入行的末尾添加注釋 ** isort:skip ** ,如下:

import module # isort:skip

或者:

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

要使 isort 跳過整個文件,只需添加 ** isort:skip_file ** 到文件的開頭注釋中:

"""
my_module.py
Best module ever

isort:skip_file
"""

import b
import a

這個工具還是相當方便的,尤其是針對一些雜亂無章、多年沉淀下來的項目代碼的 import 進行整理的時候,它會變得非常香。

有需要的小伙伴可以趕快試一下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 格式化
    +關(guān)注

    關(guān)注

    2

    文章

    39

    瀏覽量

    9116
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68616
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84690
  • import
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    1966
收藏 人收藏

    評論

    相關(guān)推薦

    matlab的實用工具命令

    數(shù)計算 Dsigma2 DSIGMA實用工具函數(shù) Dtimvec 離散時間響應(yīng)的自動定范圍算法 Exresp 取樣響應(yīng)函數(shù) Freqint Bode圖的自動定范圍算法 Freqint2 Nyquist
    發(fā)表于 09-22 15:56

    申請實用工具軟件版主!【申請通過】

    標題:申請實用工具軟件區(qū)版主會員ID:jianqian1991年齡:20注冊日期:忘記了!申請日期:2010-04-27申請版塊:實用工具軟件特長及愛好:籃球,電影申請理由:無!每天都到這里下資料!問問題!總不能沒點貢獻!自學階段沒有技術(shù)!只想申請個
    發(fā)表于 04-27 09:10

    51單片機實用工具

    51單片機實用工具
    發(fā)表于 12-20 22:36

    LabVIEW實用工具***寶典課件

    不知道有沒有人上傳過《labview實用工具詳解》和寶典配合真的很贊,不過只有前幾章,我是從圖書館借的書,大家可以買一本
    發(fā)表于 01-25 22:40

    Labview實用工具詳解 代碼下載

    本帖最后由 tòrγㄚ 于 2015-7-8 10:10 編輯 Labview實用工具詳解 代碼下載
    發(fā)表于 06-30 15:43

    LabVIEW實用工具詳解簡版.pdf

    LabVIEW實用工具詳解簡版[url=https://bbs.elecfans.com/forum.php?mod=attachment&aid=MjcwNTU1fDk1ZTc1NWUyfDE0MzgwNDM5Nzl8MTM3MTg4fDUwMjI1MQ%3D%3D][/url]
    發(fā)表于 07-28 08:34

    labview實用工具詳解 配套程序

    labview實用工具詳解 配套程序
    發(fā)表于 10-22 01:04

    uartassist串口調(diào)試助手_實用工具

    uartassist串口調(diào)試助手_實用工具,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-17 11:16 ?40次下載

    多種電子工程師實用工具大全

    本文主要介紹了多種電子工程師實用工具大全.
    發(fā)表于 06-27 08:00 ?139次下載
    多種電子工程師<b class='flag-5'>實用工具</b>大全

    UC3842頻率自動計算實用工具免費下載

    本文檔的主要內(nèi)容詳細介紹的是UC3842頻率自動計算實用工具應(yīng)用程序免費下載。
    發(fā)表于 11-28 08:00 ?247次下載
    UC3842頻率<b class='flag-5'>自動</b>計算<b class='flag-5'>實用工具</b>免費下載

    windows啟動修復實用工具免費下載

    本文檔的主要內(nèi)容詳細介紹的是windows啟動修復實用工具免費下載。
    發(fā)表于 12-10 08:00 ?1次下載
    windows啟動修復<b class='flag-5'>實用工具</b>免費下載

    LLC計算的實用工具應(yīng)用程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是LLC計算的實用工具應(yīng)用程序免費下載。
    發(fā)表于 03-31 08:00 ?91次下載
    LLC計算的<b class='flag-5'>實用工具</b>應(yīng)用程序免費下載

    關(guān)閉Win10自動更新的實用工具免費下載

    本文檔的主要內(nèi)容詳細介紹的是關(guān)閉Win10自動更新的實用工具免費下載。
    發(fā)表于 11-02 08:00 ?1次下載
    關(guān)閉Win10<b class='flag-5'>自動</b>更新的<b class='flag-5'>實用工具</b>免費下載

    如何使用 Python 來創(chuàng)建一些強大的應(yīng)用和實用工具

    本文將探討如何以 Zynq UltraScale 器件上的 IP 核為目標,使用 Python 來創(chuàng)建一些強大的應(yīng)用和實用工具。此處提供了一個程序包,供您用于讀取設(shè)備樹和訪問 IP 核。此外還提供一個實用工具,用于讀取物理寄存器和開關(guān) LED。
    發(fā)表于 09-08 10:23 ?689次閱讀

    Isort自動整理import實用工具教程

    isort 是一個Python的實用程序/庫,它會按字母順序?qū)?import)的庫進行排序,并自動分組。它提供多種使用方式,包括命令行、Python調(diào)用等。 它基于Python 3.6+實現(xiàn)
    的頭像 發(fā)表于 10-21 10:38 ?729次閱讀
    <b class='flag-5'>Isort</b>:<b class='flag-5'>自動</b><b class='flag-5'>整理</b><b class='flag-5'>import</b>的<b class='flag-5'>超</b><b class='flag-5'>實用工具</b>教程