Python Glossary English

все Python 3textwrapфункция

textwrap.fill

перенос

Как wrap(), но возвращает единую строку с переносами \n (эквивалент '\n'.join(wrap(...))).

Синтаксис

textwrap.fill(text, width=70)

Главная ловушка — включённый по умолчанию replace_whitespace: переводы строк и табуляции внутри текста превращаются в пробелы, и многоабзацный текст склеивается в один сплошной кусок. Если абзацы нужно сохранить, разбей текст по пустым строкам и вызывай fill() для каждого абзаца отдельно. И учти: строки только переносятся, по правому краю ничего не выравнивается.

Примеры

import textwrap
print(textwrap.fill('a b c', width=10))   # → a b c
print(repr(textwrap.fill('one two three four', width=10)))  # → 'one two\nthree four'
print(repr(textwrap.fill('one two three', width=12, initial_indent='* ')))  # → '* one two\nthree'
print(textwrap.fill('a b c d', width=10) == '\n'.join(textwrap.wrap('a b c d', width=10)))  # → True
print(repr(textwrap.fill('', width=10)))  # → ''

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности