web-dev-qa-db-fra.com

Pylint pour afficher uniquement les avertissements et les erreurs

Je voudrais utiliser pylint pour vérifier mon code mais je ne suis intéressé que par les niveaux d'erreur et d'avertissement. Existe-t-il un moyen de le faire en ligne de commande ou dans pylintrc?

Je ne suis pas intéressé par le filtrage des problèmes donnés (comme la liste de tous les messages dans MESSAGE CONTROL), je veux juste que pylint ignore tous les messages de convention et de refactorisation.

Remarque: je ne pense pas que ce soit un doublon de tilisation de Pylint pour afficher les erreurs et les avertissements

30
joetde

Utilisez le -d/--disable option pour désactiver les classes de messages "C" et "R" (convention et refactor):

-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"

Sans l'option disable (6 convention, 1 refactor, 2 warning, 1 error):

$ 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)

Après avoir utilisé l'option disable (0 convention, 0 refactor, 2 avertissement, 1 erreur):

$ 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)

Pour définir cette option dans pylintrc:

disable=R,C
41
Steven Kryskalla
> 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)

Mes paramètres sont Python2.7.6 32 bits et pylint 1.6.4

8
themadmax