Python 3.9+Байтовые последовательностифункция
bytes.removesuffix
bytes — обрезка
Убирает заданный суффикс, если он есть (Python 3.9+).
Синтаксис
b.removesuffix(...)
Хвост сравнивается целиком и снимается ровно один раз, а при несовпадении значение возвращается как было, без исключения. Для отрезания расширения или перевода строки это безопаснее rstrip(): тот трактует аргумент как набор байтов и на b'report.tttt' или на несколько подряд идущих b'\n' отгрызёт лишнее.
Примеры
print(b'foobar'.removesuffix(b'bar')) # → b'foo'
print(b'report.txt'.removesuffix(b'.txt')) # → b'report'
print(b'report.txt'.removesuffix(b'.csv')) # → b'report.txt'
print(b'line\n'.removesuffix(b'\n')) # → b'line'
print(b'banana'.removesuffix(b'na')) # → b'bana'
print(b'banana'.rstrip(b'na')) # → b'b'
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности