2015年04月13日

Pythonのソースコードを整形してくれるYAPFの紹介

Google Open Source BlogでYAPFというPythonのコードを整形するライブラリを見かけたので使ってみました。

How to format Python code without really trying

インストールpipでできます。

pip install yapf

注意点としては、まだアルファ版なので頻繁にアップグレードされるとのこと。最新版を追いかけておきたい人はpipではなくgithubからcloneするのが良いそうです。

YAPF is still considered in "alpha" stage, and the released version may change often; therefore, the best way to keep up-to-date with the latest development is to clone this repository.

YAPFはまだアルファ版なので頻繁に更新されると思います。最新の状態を保つには、このレポジトリをcloneして最新の開発版を取っていくのが一番良いと思います。

インストールしたら、下記のように実行すると整形後のコードが標準出力されます。

$ yapf example.py

-i をするとファイルの内容が整形後の結果に置き換えられます。バージョン管理されてる場合は問答無用で -i を指定して使っても良さそうです。管理されてないコードはちょっと怖いですが。

$ yapf -i example.py

デフォルトだとインデントはスペース4つで実行されました。一般的なインデントですが、世の中には2つ派の人もいることでしょう。そんな場合は --style を指定します。

$ yapf -i --style='{indent_width: 2}' example.py

ファイル名は複数指定できます。

// 配下の.pyファイルをまとめて置き換え
$ yapf -i *.py

// 複数ファイルを指定
$ yapf -i example.py example2.py

-r で指定ディレクトリ配下を再帰的に見に行くこともできます。プロジェクト配下をまとめて変換する時に使いそう。見た感じ、拡張子pyのみ対象にするようです。

// 指定ディレクトリ配下をまとめて整形
$ yapf -i -r .

さらっと使ってみましたが、なかなか良いですね。インストールも実行も手軽で。

posted by newsit at 07:00| programming