Python 3.4+pathlibпонятие
pathlib.PurePath.stem
части пути
Имя последнего компонента без последнего расширения: у 'report.tar.gz' — 'report.tar'.
Синтаксис
PurePath(...).stem
Отрезается только последнее расширение, поэтому у архивов вида .tar.gz stem ещё содержит точку. Чтобы снять все расширения, берут name и отрезают ''.join(suffixes). Для смены расширения есть with_suffix(), а с 3.9 — with_stem().
Примеры
# Python 3.9+
from pathlib import PurePosixPath as P
p = P('/data/report.tar.gz')
print(p.stem) # → report.tar
print(p.name.removesuffix(''.join(p.suffixes))) # → report
print(p.with_stem('final')) # → /data/final.gz
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности