Сообщить об ошибке.

Метод expandtabs() типов bytes и bytearray в Python

Заменить табуляции пробелами в байтовой строке

Синтаксис:

bytes.expandtabs(tabsize=8)

bytearray.expandtabs(tabsize=8)

Параметры:

  • bytes и bytearray - байтовая строка соответствующего типа bytes или bytearray,
  • tabsize=8 - int, количество байт на табуляцию (0, 8, 16 и так далее)

Возвращаемое значение:

  • копия байтовой строки

Описание:

Метод expandtabs() возвращает копию байтовой строки, в которой все символы табуляции ASCII заменяются одним или несколькими пробелами ASCII, в зависимости от текущего столбца и заданного размера tabsize.

Позиции табуляции заменяются на размер tabsize байт. По умолчанию 8, давая позиции табуляции в столбцах 0, 8, 16 и так далее). Чтобы расширить байтовую строку, текущий столбец устанавливается в ноль, и байтовая строка проверяется по байтно. Если байт является символом табуляции ASCII b'\t', один или несколько пробельных символов вставляются в результат до тех пор, пока текущий столбец не станет равным следующей позиции табуляции. Сам символ табуляции не копируется.

Если текущий байт является символом новой байтовой строки ASCII b'\n' или возврата каретки b'\r', он копируется и текущий столбец сбрасывается в ноль. Любое другое значение байта копируется без изменений, и текущий столбец увеличивается на единицу независимо от того, как представлено значение байта при печати.

Обратите внимание, что версия bytearray строки не изменяется на месте - метод всегда создает новый объект, даже если никаких изменений не было сделано.

Примеры использования:

>>> b'01\t012\t0123\t01234'.expandtabs()
# b'01      012     0123    01234'

>>> b'01\t012\t0123\t01234'.expandtabs(4)
# b'01  012 0123    01234'