Как обернуть и сделать отступ для длинных строк при использовании print ()? - PullRequest
4 голосов
/ 04 декабря 2010

Я использую Python для сбора данных из веб-службы. Сами данные представляют собой список, который будет представлен пользователям. Мне удалось, что это распечатано как:

( 1)  Example of strings
( 2)  Example 4
( 3)  Another Example
( 4)  Another Example 2

Я использую rjust (2) для чисел. Однако, если строки очень длинные, печать будет похожа. Разрывная ширина - это длина терминала (rxvt, gnome-терминал):

( 1)  Example of a very very very very long string and
that doesn't look fine
( 2)    Example of indented long line that is very very
long, example line
( 3)  Another Example
( 4)  Another Example of a very very long string and 
whatever here is

Но я хочу распечатать как:

( 1)  Example of a very very very very long string and
      that doesn't look fine
( 2)    Example of indented long line that is very very
        long, example line
( 3)  Another Example
( 4)  Another Example of a very very long string and 
      whatever here is

Есть ли идеи, как печатать строки, как указано выше, не разбивая строки вручную?

1 Ответ

8 голосов
/ 04 декабря 2010

Используйте модуль textwrap: http://docs.python.org/library/textwrap.html

 textwrap.fill(text, initial_indent='', subsequent_indent='      ')
...