Глава 15 · Python и файлы
Разбираем путь: name, stem, suffix, parent
У пути, как у любого объекта, есть свои атрибуты — и они отвечают на конкретные вопросы о файле.
Разбираем путь на части
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
Точка и две точки
.— текущая папка...— родительская папка.
dot_dotdot.py
from pathlib import Path
print(Path("."))
print(Path(".."))
Не увлекайтесь ../../../..
Длинные цепочки
.. сложно читать и легко сломать при переносе кода в другое место. Там, где это практично, предпочитайте явную базовую папку (как BASE_DIR из раздела 15.7) вместо нескольких .. подряд.Расширение — это соглашение, а не гарантия
Суффикс не гарантирует формат содержимого
.txt, .json, .jpg — это соглашения об имени файла, а не магическая проверка того, что внутри. Файл report.txt технически может содержать что угодно. Не проверяйте формат содержимого только по расширению имени файла.Практика: name, stem, suffix, parent
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки