Inspiriert von diesem Blog -Beitrag. Ich habe hier den Bauprozess dieses Tools beschrieben.
"Für diejenigen, die Dinosaurier mögen? Und saubere versuchen/außer Blöcken."
Zusammenfassung
flake8 Plugin pip install tryceratops
ODER
poetry add -D tryceratops
tryceratops [filename or dir...]
Sie können experimentelle Analysatoren durch Laufen aktivieren:
tryceratops --experimental [filename or dir...]
Sie können bestimmte Verstöße ignorieren, indem Sie wiederholt: --ignore TRYXXX :
tryceratops --ignore TRY201 --ignore TRY202 [filename or dir...]
Sie können Diren ausschließen, indem Sie wiederholt: --exclude dir/path :
tryceratops --exclude tests --exclude .venv [filename or dir...]
Sie können auch einige Verstöße automatisiert:
tryceratops --autofix [filename or dir...]
flake8 Plugin ? Tryceratops ist auch ein Plugin für flake8 , also können Sie:
❯ 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
Alle Verstöße und ihre Beschreibungen finden Sie in DOCS.
Bisher unterstützt Autofix nur Verstöße: Try200, Try201 und Try400.
Wenn Sie einen Verstoß in einer bestimmten Datei ignorieren möchten, können Sie entweder:
noqa an die Spitze der Datei hinzu, die Sie ignorieren möchtennoqa hinzunoqa: CODE in der Zeile hinzu, die Sie einen bestimmten Verstoß ignorieren möchtenBeispiel:
def verbose_reraise_1 ():
try :
a = 1
except Exception as ex :
raise ex # noqa: TRY202 Sie können eine pyproject.toml -Datei einrichten, um Regeln festzulegen. Dies ist nützlich, um immer wieder die gleichen CLI -Flags wiederzuverwenden und hilft dabei, die Struktur Ihres Projekts zu definieren.
Beispiel:
[ tool . tryceratops ]
exclude = [ " samples " ]
ignore = [ " TRY002 " , " TRY200 " , " TRY300 " ]
experimental = false
check_pickable = false
allowed_base_exceptions = [ " MyAppBase " ]CLI -Flags überschreiben immer die Konfigurationsdatei.
Wenn Sie Pre-Commit verwenden möchten, fügen Sie Folgendes hinzu:
- repo : https://github.com/guilatrova/tryceratops
rev : v2.4.1
hooks :
- id : tryceratops Fügen Sie dieses ausgefallene Abzeichen in README.md Ihres Projekts hinzu:
[ ![ 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 ) Wenn Sie mehr über:
Vielen Dank, dass Sie überlegt haben, Tryceratops für alle besser zu machen!
Beziehen Sie sich auf Docs.
Siehe ChangeLog.
MIT
Vielen Dank an Gott für die Inspiration? ☁️ ☀️
Das schwarze Projekt für Erkenntnisse.