よしたく blog

ほぼ週刊で記事を書いています

コードの修正がめんどくさいなら、autopep8で自動修正

f:id:yoshitaku_jp:20180728144033p:plain

前回PythonのコードがPEP8に準拠しているか確認するツールをブログに書きました!

yoshitaku-jp.hatenablog.com

準拠してないところがわかったのはいいんですけど、修正する箇所が沢山あったら直すのめんどくさいなぁなんて思います。気をつけるのはもちろんですが、だめなところがあったなら自動で直しておいて欲しいです。

と思ったら、これまた便利なツールが…

github.com

さっそくためしてみました。

インストール

pip install autopep8

pycodestyleが必要なので入ってなかったら、こちらもインストール

pip install pycodestyle

使う

autopep8 --in-place <filename>

結果

f:id:yoshitaku_jp:20180915132902p:plain
空白が適切に扱われる

f:id:yoshitaku_jp:20180915132639p:plain
Trueも削除される

最高!!

いっぺんにたくさんのファイルを修正するとき

たくさんのファイルをいっぺんに修正したいなと調べていたら、すでにワンライナーでやっているかたがいらっしゃいました

http://momijiame.tumblr.com/post/42168625947/python-のソースコードを自動で-pep8-に準拠させるツール-autopep8
momijiame.tumblr.com

今はpep8ではなく、pycodestyleを使うので先頭だけ修正して pycodestyle <dirctory> | cut -d: -f1 | sort | uniq | xargs autopep8 -i

pycodestyle . | cut -d: -f1 | sort | uniq | xargs autopep8 -i

ありがたい

まとめ

  • pycodestyleとautopep8の力を借りて、適切なプログラムコードを書こう
  • testを回したときに修正されるようにするのもやりたい