uokadaの見逃し三振は嫌いです

ここで述べられていることは私の個人的な意見に基づくものであり、私が所属する組織には一切の関係はありません。

pep8で特定のエラーを無視する

pythonにはpep8という有名なコーディングスタイルがあります。 なるべくこれにあわせてコードを書くように推奨されます。 そして、pep8のスタイルにあっているかチェックするためのコマンドもpypiのパッケージとして公開されています。 pep8 1.3.3 : Python Package Index

まず、pep8のインストール。

% pip install pep8

適当に書いたスクリプトに対してpep8コマンドを実行するとこんな感じで pep8に合わないコードが大量にエラーとして出力されますよね。

% pep8 some_daemon.py
some_daemon.py:14:1: E302 expected 2 blank lines, found 1
some_daemon.py:21:4: E121 continuation line indentation is not a multiple of four
some_daemon.py:22:4: E121 continuation line indentation is not a multiple of four
some_daemon.py:23:4: E121 continuation line indentation is not a multiple of four
some_daemon.py:25:8: E123 closing bracket does not match indentation of opening bracket's line
some_daemon.py:24:22: E231 missing whitespace after ':'
some_daemon.py:21:11: E251 no spaces around keyword / parameter equals
some_daemon.py:21:13: E251 no spaces around keyword / parameter equals
some_daemon.py:22:18: E251 no spaces around keyword / parameter equals
some_daemon.py:22:20: E251 no spaces around keyword / parameter equals
some_daemon.py:23:14: E251 no spaces around keyword / parameter equals
some_daemon.py:23:16: E251 no spaces around keyword / parameter equals

pep8のエラーチェックを一時的に無視したい場合は ホームディレクトリに.pep8というファイルを作成してこんな風に無視したいエラーをカンマ区切りで書いてやるとエラーとして出力されなくなります。

% cat $HOME/.pep8 
[pep8]
ignore = E501,E251,E121

.pep8を作成したらもう一度、pep8コマンドを実行します。

% pep8 some_daemon.py
some_daemon.py:14:1: E302 expected 2 blank lines, found 1
some_daemon.py:25:8: E123 closing bracket does not match indentation of opening bracket's line
some_daemon.py:24:22: E231 missing whitespace after ':'

igonoreで指定したエラーが出力されなくなりましたね。 これで治したくないエラーを無視してその他のコードの修正に集中出来るようになりました。

ちなみに、pep8コマンドを実行するディレクトリに.pep8があると設定が上書きされるので注意です。