Toolverse
Wszystkie skille

python-resource-management

autor: wshobson

Zarządzaj zasobami Python z automatycznym czyszczeniem i obsługą wyjątków

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
3

O skillu

Skill do determinacyjnego zarządzania zasobami w Pythonie — połączeniami bazodanowymi, uchwytami plików i gniazdami sieciowymi. Implementuj context managery, które gwarantują zwolnienie zasobów nawet przy wyjątkach. Przydatny do budowania responsów strumieniowych ze stanem, obsługi zagnieżdżonego czyszczenia i asynchronicznych context managerów. Naucz się protokołu __enter__/__exit__ i wzorców czyszczenia zasobów.

Jak używać

  1. Zainstaluj skill python-resource-management z repozytorium wshobson/agents — umieść go w katalogu plugins/python-development/skills swojego projektu agenta.
  2. Zaimportuj contextmanager z biblioteki contextlib lub zdefiniuj własną klasę implementującą protokół context managera z metodami __enter__ i __exit__.
  3. Dla prostych zasobów użyj dekoratora @contextmanager — zdefiniuj funkcję, która nabywa zasób, yield go w bloku try, a następnie czyści go w finally.
  4. Dla złożonych zasobów stwórz klasę z metodami __init__, __enter__ (zwracającą zasób) i __exit__ (wykonującą czyszczenie niezależnie od wyjątków).
  5. Używaj zasobu w bloku with — interpreter automatycznie wywoła __exit__ po zakończeniu bloku, nawet jeśli wystąpi wyjątek.
  6. Dla zasobów asynchronicznych implementuj __aenter__ i __aexit__, a następnie używaj zasobu w bloku async with — przydatne do zarządzania połączeniami bazodanowymi i responsów strumieniowych ze stanem.

Podobne skille