web-dev-qa-db-ja.com

警告とエラーのみを表示するPylint

Pylintを使用してコードをチェックしたいのですが、エラーと警告レベルにのみ興味があります。コマンドラインまたはpylintrcでそれを行う方法はありますか?

特定の問題(MESSAGE CONTROLのすべてのメッセージをリストするなど)のフィルタリングには興味がありません。pylintにallコンベンションおよびリファクタリングメッセージを無視させたいだけです。

注:私はそれが Pylintを使用してエラーと警告を表示する の重複だとは思わない

30
joetde

使用 -d/--disableオプションを使用して、「C」および「R」メッセージクラスをオフにします(慣習およびリファクタリング)。

-d <msg ids>, --disable=<msg ids>
                    Disable the message, report, category or checker with
                    the given id(s). You can either give multiple
                    identifiers separated by comma (,) or put this option
                    multiple times (only on the command line, not in the
                    configuration file where it should appear only
                    once).You can also use "--disable=all" to disable
                    everything first and then reenable specific checks.
                    For example, if you want to run only the similarities
                    checker, you can use "--disable=all
                    --enable=similarities". If you want to run only the
                    classes checker, but have no Warning level messages
                    displayed, use"--disable=all --enable=classes
                    --disable=W"

disableオプションなし(6つの規則、1つのリファクタリング、2つの警告、1つのエラー):

$ pylint x.py
C:  1, 0: Missing module docstring (missing-docstring)
C:  3, 0: Missing function docstring (missing-docstring)
R:  3, 0: Too many statements (775/50) (too-many-statements)
W:780,15: Redefining name 'path' from outer scope (line 796) (redefined-outer-name)
C:780, 0: Invalid function name "getSection" (invalid-name)
C:780, 0: Empty function docstring (empty-docstring)
C:782,23: Invalid variable name "inPath" (invalid-name)
W:785, 4: Statement seems to have no effect (pointless-statement)
E:785, 4: Undefined variable 'something' (undefined-variable)
C:796, 4: Invalid constant name "path" (invalid-name)

disableオプション(慣例0、リファクタリング0、警告2、エラー1)を使用した後:

$ pylint --disable=R,C x.py
W:780,15: Redefining name 'path' from outer scope (line 796) (redefined-outer-name)
W:785, 4: Statement seems to have no effect (pointless-statement)
E:785, 4: Undefined variable 'something' (undefined-variable)

pylintrcでこのオプションを設定するには:

disable=R,C
41
> python -m pylint --errors-only script_to_validate.py
No config file found, using default configuration
************* Module script_to_validate
E:  7,10: Module 'cv2' has no 'imread' member (no-member)
E:  8,15: Module 'cv2' has no 'threshold' member (no-member)

私の設定はPython2.7.6 32ビットとpylint 1.6.4です

8
themadmax