<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 3562字,需瀏覽 8分鐘

           ·

          2022-08-11 20:41

          isort 是一個Python的實用程序/庫,它會按字母順序對導入(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 .


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

          isort mypythonfile.py --diff


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

          isort --atomic .


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

          從Python內(nèi)部

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


          或者:

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


          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)


          要啟用此設置, 在你的配置設置  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 進行整理的時候,它會變得非常香。


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


          我們的文章到此就結束啦,如果你喜歡今天的Python 實戰(zhàn)教程,請持續(xù)關注Python實用寶典。

          有任何問題,可以在公眾號后臺回復:加群,回答相應紅字驗證信息,進入互助群詢問。

          原創(chuàng)不易,希望你能在下面點個贊和在看支持我繼續(xù)創(chuàng)作,謝謝!

          點擊下方閱讀原文可獲得更好的閱讀體驗

          Python實用寶典 (pythondict.com)
          不只是一個寶典
          歡迎關注公眾號:Python實用寶典

          瀏覽 71
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲黄片在线免费观看 | 日韩欧美精品熟 | 青伊人成人 | 日韩黄色Aa| 狠狠搞狠狠操 |