Zum Hauptinhalt springen

Lösungen und Lösungshinweise Band 7

Kapitel 37

Verschachtelten Ordner erstellen

from pathlib import Path

pfad = Path("projekt") / "daten" / "backups"
pfad.mkdir(parents=True, exist_ok=True)

Kapitel 38

Datum sicher lesen

from datetime import datetime

def datum_lesen(text: str):
try:
return datetime.strptime(text, "%d.%m.%Y").date()
except ValueError:
return None

Kapitel 39

Lokale Ersatzdaten

try:
daten = daten_laden(url)
except Exception:
daten = ersatzdaten

In einem echten Projekt sollten genauere Fehlertypen verwendet werden.

Kapitel 40

Dataclass in Dictionary umwandeln

from dataclasses import asdict

daten = [asdict(aufgabe) for aufgabe in aufgaben]

Kapitel 41

Fehlertext testen

with self.assertRaisesRegex(ValueError, "Division durch 0"):
dividieren(10, 0)

Kapitel 42

Unterbefehl done

done_parser = subparser.add_parser("done")
done_parser.add_argument("id", type=int)

Schichtenregel

  • main.py: Argumente und Ausgaben
  • service.py: Anwendungsregeln
  • storage.py: Dateien oder Datenbank
  • models.py: Dataclasses