все Python 3Байтовые последовательностифункция
bytearray.rpartition
bytearray — разбиение и соединение
Делит по последнему разделителю на тройку.
Синтаксис
ba.rpartition(...)
Кортеж всегда ровно из трёх элементов, так что распаковка head, sep, tail = ba.rpartition(b'=') не упадёт никогда. Но когда разделителя в данных нет, пустыми оказываются первые два элемента, а исходное содержимое уезжает в третий — у partition ровно наоборот. Поэтому факт находки проверяют по среднему элементу, а не по длине кортежа и не по тому, что head непустой.
Примеры
print(bytearray(b'a=b=c').rpartition(b'=')) # → (bytearray(b'a=b'), bytearray(b'='), bytearray(b'c'))
print(bytearray(b'a=b=c').partition(b'=')) # → (bytearray(b'a'), bytearray(b'='), bytearray(b'b=c'))
print(bytearray(b'key: value').rpartition(b': ')[2]) # → bytearray(b'value')
print(bytearray(b'/usr/local/bin').rpartition(b'/')[2]) # → bytearray(b'bin')
print(bytearray(b'abc').rpartition(b'=')) # → (bytearray(b''), bytearray(b''), bytearray(b'abc'))
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности