Python Glossary English

все 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Сообщить о неточности