Это командный pylint, который можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
pylint - статическая проверка кода Python
СИНТАКСИС
pylint [ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ ] [ ]
ОПИСАНИЕ
pylint анализатор исходного кода Python, который ищет ошибки программирования, помогает
обеспечение соблюдения стандарта кодирования и поиск некоторых запахов кода (как определено в книге Мартина Фаулера).
Книга рефакторинга)
Pylint можно рассматривать как еще один PyChecker, поскольку почти все тесты, которые вы можете выполнять с PyChecker
также можно сделать с помощью Pylint. Однако Pylint предлагает некоторые дополнительные функции, такие как проверка
длина строк кода, проверка правильности имен переменных в соответствии с вашим
стандарт кодирования или проверка, действительно ли реализованы объявленные интерфейсы, и многое другое.
Кроме того, можно писать плагины для добавления собственных проверок.
Pylint поставляется с «pylint-gui», «pyreverse» (генератор диаграмм UML) и «symilar» (
независимая проверка сходства).
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
--версия
показать номер версии программы и выйти
--помощь, -ч
показать это справочное сообщение и выйти
--долгая помощь
более подробная помощь.
MASTER
--rcfile =
Укажите файл конфигурации.
--init-hook =
Код Python для выполнения, обычно для манипуляций с sys.path, например pygtk.require ().
- только ошибки, -E
В режиме ошибок программы проверки без сообщений об ошибках отключены, а для других - только
отображаются сообщения ERROR, и по умолчанию отчеты не создаются.
--py3k В режиме переноса Python 3 все средства проверки будут отключены и будут отправляться только сообщения.
при портировании чекера отобразится
--ignore = [, ...]
Добавьте файлы или каталоги в черный список. Это должны быть базовые имена, а не пути.
[текущий: CVS]
--persistent =
Pickle собрал данные для более поздних сравнений. [текущий: да]
--load-plugins =
Список подключаемых модулей (в виде значений имен модулей Python, разделенных запятыми) для загрузки,
обычно для регистрации дополнительных шашек. [текущий: нет]
--jobs = , -j
Используйте несколько процессов для ускорения работы Pylint. [current: 1]
--extension-pkg-whitelist =
Список имен пакетов или модулей, разделенных запятыми, из которых могут быть добавлены расширения C.
загружен. Расширения загружаются в активный интерпретатор Python и могут работать
произвольный код [текущий: нет]
КОМАНДЫ
--help-msg =
Вывести справочное сообщение для данного идентификатора сообщения и выйти. Значение может быть запятой
разделенный список идентификаторов сообщений.
--список-сообщений
Создавайте сообщения pylint.
--list-conf-уровни
Создавайте сообщения pylint.
--full-документация
Сгенерируйте полную документацию pylint.
--генерировать-rcfile
Создайте образец файла конфигурации в соответствии с текущей конфигурацией. Ты
можно поместить другие параметры перед этим, чтобы получить их в сгенерированной конфигурации.
СООБЩЕНИЯ КОНТРОЛЬ
- уверенность =
Показывать только предупреждения с указанным уровнем достоверности. Оставьте пустым, чтобы показать все.
Допустимые уровни: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED [текущий: нет]
--enable = , -e
Включите сообщение, отчет, категорию или средство проверки с указанными идентификаторами. Вы можете
либо укажите несколько идентификаторов, разделенных запятой (,), либо укажите эту опцию несколько
время. См. Также примеры с параметром "--disable".
--disable = , -d
Отключите сообщение, отчет, категорию или средство проверки с указанными идентификаторами. Вы можете
либо укажите несколько идентификаторов, разделенных запятой (,), либо укажите эту опцию несколько
раз (только в командной строке, а не в файле конфигурации, где он должен
появляются только один раз). Вы также можете использовать "--disable = all", чтобы сначала отключить все и
затем повторно активируйте определенные проверки. Например, если вы хотите запустить только
Средство проверки сходства, вы можете использовать «--disable = all --enable = similarities». если ты
хотите запустить только средство проверки классов, но не отображать сообщения об уровне предупреждений,
используйте "- disable = all --enable = classes --disable = W"
ДОКЛАДЫ
--output-format = , -f
Установите выходной формат. Доступные форматы: текст, анализируемый, раскрашенный, msvs.
(визуальная студия) и html. Вы также можете дать класс репортера, например
mypackage.mymodule.MyReporterClass. [текущий: текст]
--files-output =
Поместите сообщения в отдельный файл для каждого модуля / пакета, указанного в команде
line вместо того, чтобы печатать их на stdout. Отчеты (если есть) будут записаны в файл
назовите "pylint_global. [txt | html]". [текущий: нет]
--reports = , -р
Указывает, следует ли отображать полный отчет или только сообщения [current: yes]
--оценка =
Выражение Python, которое должно возвращать примечание меньше 10 (10 - самая высокая нота).
У вас есть доступ к предупреждению об ошибках переменных, утверждение которого соответственно
содержат количество сообщений об ошибках / предупреждениях и общее количество операторов
проанализированы. Это используется в общем отчете об оценке (RP0004). [текущий: 10.0 -
((float (5 * ошибка + предупреждение + рефакторинг + соглашение) / оператор) * 10)]
--comment =
Добавьте комментарий в соответствии с вашей оценочной запиской. Это используется глобальным
отчет об оценке (RP0004). [текущий: нет]
--msg-template =
Шаблон, используемый для отображения сообщений. Это строка формата нового стиля Python, используемая для
отформатируйте информацию сообщения. См. Документ для получения всех подробностей
ИСКЛЮЧЕНИЯ
--overgeneral-exceptions =
Исключения, при обнаружении которых будет выдано предупреждение. По умолчанию "Исключение"
[текущий: Исключение]
КЛАССЫ
--ignore-iface-methods =
Список игнорируемых методов интерфейса, разделенных запятыми. Это используется для
экземпляр, чтобы не проверять методы, определенные в базовом классе интерфейса Zope. [Текущий:
isImplementedBy, deferred, extends, names, namesAndDescriptions, queryDescriptionFor, getBases, getDescriptionFor, getDoc, getName, getTaggedValue, getTaggedValueTags, isEqualOrExtendedBy, setTaggedValue, isImplementedByInstances, isImplementedByInstances
--defining-attr-methods =
Список имен методов, используемых для объявления (т. Е. Назначения) атрибутов экземпляра. [Текущий:
__init __, __ new __, setUp]
--valid-classmethod-first-arg =
Список допустимых имен для первого аргумента в методе класса. [current: cls]
--valid-metaclass-classmethod-first-arg =
Список допустимых имен для первого аргумента в методе класса метакласса. [Текущий:
мс]
--exclude-protected =
Список имен членов, которые должны быть исключены из предупреждения о защищенном доступе.
[current: _asdict, _fields, _replace, _source, _make]
ВЕДЕНИЕ ЖУРНАЛА
--logging-modules =
Модули регистрации для проверки наличия аргументов строкового формата в функции регистрации.
формат параметра [текущий: ведение журнала]
ПЕРЕМЕННЫЕ
--init-import =
Сообщает, следует ли нам проверять неиспользуемый импорт в файлах __init__. [текущий: нет]
--dummy-variables-rgx =
Регулярное выражение, совпадающее с именем фиктивных переменных (т.е. ожидаемо не
использовал). [current: _ $ | dummy]
--additional-builtins =
Список дополнительных имен, которые должны быть определены во встроенных командах. Помни, что ты
по возможности следует избегать определения новых встроенных функций. [текущий: нет]
--callbacks =
Список строк, которые могут идентифицировать функцию обратного вызова по имени. Имя обратного вызова
должен начинаться или заканчиваться одной из этих строк. [current: cb _, _ cb]
Дизайн
--max-args =
Максимальное количество аргументов для функции / метода [текущая: 5]
--ignored-аргументы-имена =
Имена аргументов, соответствующие этому выражению, будут проигнорированы. По умолчанию называть с помощью
ведущий знак подчеркивания [current: _. *]
--max-locals =
Максимальное количество локальных переменных для тела функции / метода [current: 15]
--max-returns =
Максимальное количество возвратов / выходов для тела функции / метода [current: 6]
--max-branch =
Максимальное количество ветвей для тела функции / метода [текущая: 12]
--max-statement =
Максимальное количество операторов в теле функции / метода [текущая: 50]
--max-parent =
Максимальное количество родителей в классе (см. R0901). [current: 7]
--max-attributes =
Максимальное количество атрибутов для класса (см. R0902). [current: 7]
--min-public-methods =
Минимальное количество общедоступных методов для класса (см. R0903). [current: 2]
--max-public-methods =
Максимальное количество общедоступных методов для класса (см. R0904). [current: 20]
BASIC
--required-attributes =
Обязательные атрибуты для модуля, разделенные запятой [current: none]
--bad-functions =
Список имен встроенных функций, которые не следует использовать, через запятую
[текущий: карта, фильтр, ввод]
--good-names =
Хорошие имена переменных, которые всегда следует принимать, через запятую [current:
i, j, k, ex, Run, _]
--bad-names =
Неверные имена переменных, от которых всегда следует отказываться, разделенные запятой [current:
foo, bar, baz, toto, tutu, tata]
--name-group =
Наборы имен, разделенных двоеточиями, которые определяют стиль именования друг друга, когда
Регулярные выражения имен допускают использование нескольких стилей. [текущий: нет]
--include-naming-hint =
Включите подсказку для правильного формата именования с invalid-name [current: no]
--function-rgx =
Регулярное выражение, соответствующее правильным именам функций [current: [a-z _] [a-
z0-9 _] {2,30} $]
- имя-функции-подсказка =
Подсказка по названию функций [current: [a-z _] [a-z0-9 _] {2,30} $]
--variable-rgx =
Регулярное выражение, соответствующее правильным именам переменных [current: [a-z _] [a-
z0-9 _] {2,30} $]
--variable-name-hint =
Подсказка для имен переменных [current: [a-z _] [a-z0-9 _] {2,30} $]
--const-rgx =
Регулярное выражение, соответствующее правильным именам констант [current: (([A-Z _] [A-
Z0-9 _] *) | (__. * __)) $]
--const-name-hint =
Подсказка для имен констант [current: (([A-Z _] [A-Z0-9 _] *) | (__. * __)) $]
--attr-rgx =
Регулярное выражение, соответствующее правильным именам атрибутов [current: [a-z _] [a-
z0-9 _] {2,30} $]
--attr-name-hint =
Подсказка для имен атрибутов [current: [a-z _] [a-z0-9 _] {2,30} $]
--argument-rgx =
Регулярное выражение, соответствующее правильным именам аргументов [current: [a-z _] [a-
z0-9 _] {2,30} $]
--argument-name-hint =
Подсказка для имен аргументов [current: [a-z _] [a-z0-9 _] {2,30} $]
--class-attribute-rgx =
Регулярное выражение, соответствующее правильным именам атрибутов класса [current: ([A-Za-z _] [A-
Za-z0-9 _] {2,30} | (__. * __)) $]
--class-attribute-name-hint =
Подсказка по именованию для имен атрибутов класса [current: ([A-Za-z _] [A-Za-
z0-9 _] {2,30} | (__. * __)) $]
--inlinevar-rgx =
Регулярное выражение соответствует правильным именам встроенных итераций [current: [A-Za-z _] [A-
Za-z0-9 _] * $]
--inlinevar-name-hint =
Подсказка по названию встроенных имен итераций [current: [A-Za-z _] [A-Za-z0-9 _] * $]
--class-rgx =
Регулярное выражение, соответствующее правильным именам классов [current: [A-Z _] [a-zA-Z0-9] + $]
- имя-класса-подсказка =
Подсказка для имен классов [current: [A-Z _] [a-zA-Z0-9] + $]
--module-rgx =
Регулярное выражение, соответствующее правильным именам модулей [current: (([a-z _] [a-z0-9 _] *) | ([A-
Z] [a-zA-Z0-9] +)) $]
--module-name-hint =
Подсказка для имен модулей [current: (([a-z _] [a-z0-9 _] *) | ([AZ] [a-zA-Z0-9] +)) $]
--method-rgx =
Регулярное выражение, соответствующее правильным названиям методов [current: [a-z _] [a-z0-9 _] {2,30} $]
--method-name-hint =
Подсказка по названию имен методов [current: [a-z _] [a-z0-9 _] {2,30} $]
--no-docstring-rgx =
Регулярное выражение, которое должно соответствовать только именам функций или классов, которые не соответствуют
требуется строка документации. [Текущий: __.*__]
--docstring-min-length =
Минимальная длина строки для функций / классов, которым требуются строки документации, более короткие -
освобождать. [current: -1]
РАЗНОЕ
--notes =
Список тегов заметок, которые следует учитывать, через запятую. [Текущий:
FIXME, XXX, TODO]
ПРОВЕРКА ТИПА
--ignore-mixin-members =
Сообщает, следует ли игнорировать отсутствующие элементы, к которым осуществляется доступ в классе миксина. Миксин
класс обнаруживается, если его имя заканчивается на «миксин» (без учета регистра). [текущий: да]
--ignored-modules =
Список имен модулей, атрибуты членов которых не следует проверять (полезно для
модули / проекты, в которых пространства имен управляются во время выполнения и, таким образом, существующие
атрибуты членов не могут быть выведены статическим анализом [current: none]
--ignored-classes =
Список имен классов, атрибуты членов которых не следует проверять (полезно для
классы с динамически устанавливаемыми атрибутами). [текущий: SQLObject]
--zope =
Когда режим zope активирован, добавьте предопределенный набор приобретенных атрибутов Zope в
сгенерированные члены. [текущий: нет]
--generated-members =
Список элементов, которые устанавливаются динамически и пропускаются системой вывода pylint,
и поэтому не должен вызывать E1101 при доступе. Регулярные выражения Python
принято. [текущий: ЗАПРОС, acl_users, aq_parent]
SPELLING
--spelling-dict =
Название орфографического словаря. Доступные словари: нет. Чтобы он работал, установите
пакет python-enchant. [текущий: нет]
--spelling-ignore-words =
Список слов, разделенных запятыми, которые не следует проверять. [текущий: нет]
--spelling-private-dict-file =
Путь к файлу, содержащему частный словарь; одно слово в строке. [Текущий:
никто]
--spelling-store-unknown-words =
Сообщает, следует ли сохранять неизвестные слова в указанном частном словаре в --spelling-
параметр private-dict-file вместо создания сообщения. [текущий: нет]
ФОРМАТ
--max-line-length =
Максимальное количество символов в одной строке. [current: 100]
--ignore-long-lines =
Регулярное выражение для строки, длина которой может превышать установленный предел. [current: ^ (#
)? ? $]
- single-line-if-stmt =
Позвольте телу if находиться в той же строке, что и тест, если больше нет.
[текущий: нет]
--no-space-check = NO_SPACE_CHECK
Список дополнительных конструкций, для которых отключена проверка пробелов [current:
конечная запятая, дикт-разделитель]
--max-module-lines =
Максимальное количество строк в модуле [current: 1000]
--indent-string =
Строка, используемая как единица отступа. Обычно это «» (4 пробела) или «» (1 табуляция).
[Текущий: ' ']
--indent-after-paren =
Необходимое количество пробелов для отступа внутри висящей или продолжающейся строки. [Текущий:
4]
--expected-line-end-format =
Ожидаемый формат окончания строки, например, пустой (любой конец строки), LF или CRLF. [Текущий:
никто]
ИМПОРТ
--deprecated-modules =
Устаревшие модули, которые не следует использовать, через запятую [current:
regsub, TERMIOS, Bastion, rexec]
--import-graph =
Создайте график каждой (т.е. внутренней и внешней) зависимостей в данном файле
(отчет RP0402 нельзя отключать) [current: none]
--ext-import-graph =
Создать график внешних зависимостей в данном файле (отчет RP0402 не должен
быть отключенным) [current: none]
--int-import-graph =
Создать график внутренних зависимостей в данном файле (отчет RP0402 не должен
быть отключенным) [current: none]
СХОДСТВА
--min-подобие-линии =
Минимальное количество строк подобия. [current: 4]
--ignore-comments =
Игнорируйте комментарии при вычислении сходства. [текущий: да]
--ignore-docstrings =
Игнорируйте строки документации при вычислении сходства. [текущий: да]
--ignore-import =
Игнорируйте импорт при вычислении сходства. [текущий: нет]
ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ
Используются следующие переменные среды:
* ПИЛИНТОМ
Путь к каталогу, в котором будет храниться постоянный файл для запуска. Если не найден,
по умолчанию ~ / .pylint.d / или .pylint.d (в текущем рабочем каталоге).
* ПИЛИНТРК
Путь к файлу конфигурации. См. Документацию по методу, используемому для поиска.
для файла конфигурации.
ВЫВОД
При использовании вывода текста по умолчанию формат сообщения следующий:
MESSAGE_TYPE: LINE_NUM: [OBJECT:] MESSAGE
Есть 5 типов сообщений:
* (C) соглашение, для нарушения стандарта программирования
* (R) рефакторинг, для устранения неприятного запаха кода
* (W) предупреждение, для проблем, специфичных для Python
* (E) ошибка, возможные ошибки в коде
* (F) фатальный, если произошла ошибка, которая помешала pylint продолжить
обработка.
ВЫВОД статус КОД
Pylint должен выйти со следующим кодом состояния:
* 0, если все прошло нормально
* 1, если было выдано фатальное сообщение
* 2, если было выдано сообщение об ошибке
* 4, если было выдано предупреждающее сообщение
* 8, если было выдано сообщение рефакторинга
* 16, если было выдано сообщение о соглашении
* 32 при ошибке использования
статусы с 1 по 16 будут обрабатываться по принципу «ИЛИ», чтобы вы могли узнать, какие разные категории были выданы
путем анализа кода состояния вывода pylint
Используйте pylint в Интернете с помощью сервисов onworks.net