все Python 3Байтовые последовательностифункция
bytes.translate
bytes — замена и перевод
Заменяет байты по таблице перевода (256 байт).
Синтаксис
b.translate(...)
Таблица должна быть длиной ровно 256 байт (её удобно собрать через bytes.maketrans) либо None, если нужен только второй аргумент — удаление байтов. Перевод идёт побайтово, поэтому на UTF-8 тексте с кириллицей translate калечит многобайтовые символы: там сначала decode, потом str.translate. Зато один проход переписывает сразу много разных байтов там, где иначе понадобилась бы цепочка replace.
Примеры
print(b'abc'.translate(bytes.maketrans(b'a', b'X'))) # → b'Xbc'
print(b'hello'.translate(bytes.maketrans(b'el', b'ip'))) # → b'hippo'
print(b'a-b-c'.translate(None, b'-')) # → b'abc'
print(b'a1b2'.translate(bytes.maketrans(b'ab', b'AB'), b'12')) # → b'AB'
print(b'abc'.translate(None)) # → b'abc'
print(b'abc'.translate(b'xy')) # → ValueError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности