Zum Hauptinhalt springen

Pfade mit pathlib

Warum pathlib?

Früher oft:

pfad = "daten" + "/" + "score.json" # auf Windows riskant

Besser:

from pathlib import Path

pfad = Path("daten") / "score.json"
print(pfad)
print(pfad.name)
print(pfad.suffix)

/ zwischen Paths fügt sauber zusammen – auf jedem System.

Wichtige Eigenschaften

p = Path("ordner/datei.txt")
print(p.parent) # ordner
print(p.stem) # datei
print(p.is_absolute())

Rate mal!

print(Path("a") / "b" / "c.txt")
Auflösung

Ein Pfad a/b/c.txt (Darstellung je nach OS).

Probiere es selbst

Experiment 1

Path zu notizen/heute.txt.

Experiment 2

.name und .suffix printen.

Experiment 3

Mehrere Teile mit / verbinden.

Fehlerdetektiv

pfad = "a" / "b"
Lösung

Mindestens ein Teil muss Path sein: Path("a") / "b".

Übungen

Level 1

Path("schule.db") ausgeben.

Level 2

Ordner + Datei zusammensetzen.

Level 3

Funktion projekt_pfad(name), die data/name.json liefert.

Level-3-Lösung
from pathlib import Path

def projekt_pfad(name: str) -> Path:
return Path("data") / f"{name}.json"

print(projekt_pfad("highscore"))

Mini-Quiz

Mini-QuizWomit verbindet man Path-Teile elegant?

Path sitzt! Als Nächstes: Ordner prüfen und erstellen.