Rozdział 15 · Python i akta
Rozkładanie ścieżki: name, stem, suffix, parent
Ścieżka, podobnie jak każdy obiekt, ma własne atrybuty — i odpowiadają one na konkretne pytania dotyczące pliku.
Dzielimy ścieżkę na części
razbor_puti.py
from pathlib import Path
path = Path("/home/anna/project/data/scores.txt")
print(path.name) # scores.txt
print(path.stem) # scores
print(path.suffix) # .txt
print(path.parent) # /home/anna/project/data
/home/anna/project/data/scores.txt
parent
/home/anna/project/data
name
scores.txt
stem
scores
suffix
.txt
Punkt i Dwa Punkty
.— bieżący folder...to folder nadrzędny.
dot_dotdot.py
from pathlib import Path
print(Path("."))
print(Path(".."))
Nie przesadzaj... /.. /.. /..
Długie łańcuchy
.. trudno odczytać i łatwo zepsuć podczas przenoszenia kodu gdzie indziej. Tam, gdzie to możliwe, lepiej używać wyraźnego folderu bazowego (jak BASE_DIR z sekcji 15.7) zamiast kilku .. z rzędu.Ekspansja to umowa, a nie gwarancja
Sufiks nie gwarantuje formatu zawartości
.txt, .json, .jpg są konwencjami nazw plików, a nie magiczną kontrolą tego, co jest w środku. Plik report.txt technicznie może zawierać wszystko. Nie sprawdzaj formatu treści tylko po rozszerzeniu pliku.Praktyka: name, stem, suffix, parent
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji