Pythonコードの自動整形

Pythonコードを自動整形するツールの紹介


autopep8

autopep8はPythonのスタイルガイドPEP8に準拠するように自動でコードを整形してくれるツールです

インストール

pipで簡単にインストールできます

% pip install autopep8

使い方

% autopep8 hoge.py                       # 結果を標準出力
% autopep8 -i hoge.py                    # ファイルを上書き
% autopep8 --max-line-length 120 hoge.py # 最大行数を変更

Black

Blackはautopep8とは別のPythonコード整形ツールです。autopep8と比較した際の特徴として、簡単に言うとより遠慮なくコードを整形してくれます。入力されたコードのフォーマットに依存せずに、統一された結果が出力されます。また他のツールと比較して設定できる項目も少なく、その分何も考えることなく使用できます。

* 現在 (2020/03/09) msys2上ではClickパッケージのバグの影響でBlackが動作しないようです ( https://github.com/pallets/click/issues/1338 )

インストール

これまたpipで簡単にインストールできます

% pip install black

使い方

% black hoge.py          # デフォルト設定で整形 (ファイル上書き)
% black -l 120 hoge.py   # 最大行数を指定
% black -S hoge.py       # 文字列のクオーテーションの整形を行わない
% black --check hoge.py  # チェックのみ行う。上書きしない
% black --diff hoge.py   # 差分表示のみを行う。上書きしない

おすすめ