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'