LoginSignup
30
28

More than 5 years have passed since last update.

Python モジュールの import をアルファベット順にソートする

Posted at

Django で共同作業していて、モジュールのインポート順を標準ライブラリ、サードパーティ、オレオレモジュールで分けてアルファベット順で!と言われたときに、golang の gofmt みたいに勝手にやってくれるものがないかと探してみたらありました。

導入は非常に簡単で、

$ pip install isort

でインストール後、

$ isort spam.py

で、並び替えて上書きしてくれます。
コミットする前にやりましょう。

設定ファイル ~/.isort.cfg というのを作成すると挙動を変えることができます。

isort.cfg
[settings]
line_length=120                                                                                                                                                                   
multi_line_output=3

1 行 120 文字までを許容するようにするのと、インポートが複数行になったときの改行方法を設定してあります。この場合だと 120 文字越えると、以下のように改行されるようになります。

from third_party import (
    lib1,
    lib2,
    lib3,
    lib4,
)

シェルじゃなくて Vim 上でやりたくなったらこちら

NeoBundle 等を使っていれば、 vimrc に書くだけです。

vimrc
NeoBundle 'fisadev/vim-isort'

これでコマンドモードで :Isort もしくは、ビジュアルモードで並び替えたい行を選択して <C-i> で並び替えてくれます。

30
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
28