Почему в pylintrc по умолчанию так много отключенных сообщений? - PullRequest
2 голосов
/ 06 марта 2019

Если вы запустите pylint --generate-rcfile > pylintrc и посмотрите файл rc по умолчанию, вы увидите следующий список отключенных предупреждений.

Почему они отключены по умолчанию?

disable=print-statement,
        parameter-unpacking,
        unpacking-in-except,
        old-raise-syntax,
        backtick,
        long-suffix,
        old-ne-operator,
        old-octal-literal,
        import-star-module-level,
        non-ascii-bytes-literal,
        raw-checker-failed,
        bad-inline-option,
        locally-disabled,
        locally-enabled,
        file-ignored,
        suppressed-message,
        useless-suppression,
        deprecated-pragma,
        apply-builtin,
        basestring-builtin,
        buffer-builtin,
        cmp-builtin,
        coerce-builtin,
        execfile-builtin,
        file-builtin,
        long-builtin,
        raw_input-builtin,
        reduce-builtin,
        standarderror-builtin,
        unicode-builtin,
        xrange-builtin,
        coerce-method,
        delslice-method,
        getslice-method,
        setslice-method,
        no-absolute-import,
        old-division,
           dict-iter-method,
        dict-view-method,
        next-method-called,
        metaclass-assignment,
        indexing-exception,
        raising-string,
        reload-builtin,
        oct-method,
        hex-method,
        nonzero-method,
        cmp-method,
        input-builtin,
        round-builtin,
        intern-builtin,
        unichr-builtin,
        map-builtin-not-iterating,
        zip-builtin-not-iterating,
        range-builtin-not-iterating,
        filter-builtin-not-iterating,
        using-cmp-argument,
        eq-without-hash,
        div-method,
        idiv-method,
        rdiv-method,
        exception-message-attribute,
        invalid-str-codec,
        sys-max-int,
        bad-python3-import,
        deprecated-string-function,
        deprecated-str-translate-call,
        deprecated-itertools-function,
        deprecated-types-field,
        next-method-defined,
        dict-items-not-iterating,
        dict-keys-not-iterating,
        dict-values-not-iterating

Ответы [ 2 ]

2 голосов
/ 07 марта 2019

Из часто задаваемых вопросов документации ...

Почему по умолчанию отключено несколько сообщений?

У pylint некоторые сообщения отключеныпо умолчанию, либо потому, что они склонны к ложным срабатываниям, либо потому, что они достаточно самоуверенны, чтобы их нельзя было включить в сообщения по умолчанию.Но большинство отключенных сообщений поступает из программы проверки переноса Python 3, которая по умолчанию отключена.Требуется специальная активация с флагом --py3k.

2 голосов
/ 06 марта 2019

Я думаю, что такой rc-файл по умолчанию предназначен для применения pylint к коду python2 без множества ошибок и предупреждений.Примечание: большинство отключенных операторов принадлежит синтаксису python2 и стандартной библиотеке API:

  • print-Statement - print был оператором в Python2, в Python3 это функция
  • старый-повышающий-синтаксис - был синтаксис except Exception, e, который недопустим для Python3, в Python3 except Exception as e действителен только
  • xrange-builtin - xrange был заменен на range
  • и т. д.

Итак, с помощью этого rc по умолчанию вы можете использовать pylint для кода python2, чтобы обнаруживать такие вещи, как redefined-outer-name, line-too-long и другие плохие вещи, не получая назойливых ошибок и предупреждений о допустимостиСинтаксис Python2 и вызовы стандартной библиотеки.

...