Python 3.9+Строки (str)функция
str.removesuffix
замена
Возвращает копию без суффикса suffix, если он есть; иначе строку без изменений (Python 3.9+).
Синтаксис
s.removesuffix(suffix)
Типичная задача — срезать расширение, и именно здесь rstrip('.py') портит данные: он снимает с конца любые точки, p и y, так что 'happy.py' превратится в 'ha'. Ручной срез по длине суффикса тоже небезопасен: если суффикса нет, он всё равно отрежет хвост, а на пустом суффиксе вернёт пустую строку. Для имён файлов чаще удобнее pathlib с его stem и with_suffix.
Примеры
print('file.py'.removesuffix('.py')) # → file
print('file'.removesuffix('.py')) # → file
print('x__'.removesuffix('_')) # → x_
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности