Вдохновлен этим сообщением в блоге. Я описал процесс строительства этого инструмента здесь.
«Для тех, кто любит динозавров? И чистая попытка/кроме блоков».
Краткое содержание
flake8 pip install tryceratops
ИЛИ
poetry add -D tryceratops
tryceratops [filename or dir...]
Вы можете включить экспериментальные анализаторы, работая:
tryceratops --experimental [filename or dir...]
Вы можете игнорировать конкретные нарушения, используя: --ignore TRYXXX неоднократно:
tryceratops --ignore TRY201 --ignore TRY202 [filename or dir...]
Вы можете исключить Dirs, используя: --exclude dir/path несколько раз:
tryceratops --exclude tests --exclude .venv [filename or dir...]
Вы также можете автоматически провести некоторые нарушения:
tryceratops --autofix [filename or dir...]
flake8 ? Tryceratops также плагин для flake8 , так что вы можете:
❯ flake8 --select TRY src/tests/samples/violations/call_raise_vanilla.py
src/tests/samples/violations/call_raise_vanilla.py:13:9: TRY002 Create your own exception
src/tests/samples/violations/call_raise_vanilla.py:13:9: TRY003 Avoid specifying long messages outside the exception class
src/tests/samples/violations/call_raise_vanilla.py:21:9: TRY201 Simply use 'raise' without specifying exception object again
Все нарушения и его описания можно найти в документах.
До сих пор AutoFix поддерживает только нарушения: TRY200, TRY201 и TRY400.
Если вы хотите проигнорировать нарушение в определенном файле, вы можете либо:
noqa в верхнюю часть файла, который вы хотите игнорироватьnoqa к линии, которую хотите игнорироватьnoqa: CODE в строку, которую вы хотите игнорировать конкретное нарушениеПример:
def verbose_reraise_1 ():
try :
a = 1
except Exception as ex :
raise ex # noqa: TRY202 Вы можете настроить файл pyproject.toml для установки правил. Это полезно, чтобы избежать повторного использования одних и тех же флагов CLI снова и снова и помогает определить структуру вашего проекта.
Пример:
[ tool . tryceratops ]
exclude = [ " samples " ]
ignore = [ " TRY002 " , " TRY200 " , " TRY300 " ]
experimental = false
check_pickable = false
allowed_base_exceptions = [ " MyAppBase " ]Флаги CLI всегда перезаписывают файл конфигурации.
Если вы хотите использовать предварительную компанию, добавьте это:
- repo : https://github.com/guilatrova/tryceratops
rev : v2.4.1
hooks :
- id : tryceratops Добавьте этот модный значок в README.md вашего проекта:
[ ![ try/except style: tryceratops ] ( https://img.shields.io/badge/try%2Fexcept%20style-tryceratops%20%F0%9F%A6%96%E2%9C%A8-black )] ( https://github.com/guilatrova/tryceratops ) Если вы хотите узнать больше о:
Спасибо за то, что рассмотрели облегчение для всех Tryceratops для всех!
Обратитесь к документам.
См. Чанженел.
Грань
Спасибо Богу за вдохновение? ☁ ☀
Черный проект для понимания.