На этом шаге мы рассмотрим способы решения этой задачи.
У вас есть длинные строки, которые вы хотите переформатировать таким образом, чтобы они распределились по заданному пользователем количеству колонок.
Используйте модуль textwrap для переформатирования выводимого текста. Предположим, что у вас есть такая длинная строка:
>>> s = "Look into my eyes, look into my eyes, the eyes, the eyes, \
the eyes, not around the eyes, don't look around the eyes, \
look into my eyes, you're under."
>>>
Вот как вы можете использовать модуль textwrap, чтобы переформатировать ее:
>>> import textwrap >>> print(textwrap.fill(s, 70)) Look into my eyes, look into my eyes, the eyes, the eyes, the eyes, not around the eyes, don't look around the eyes, look into my eyes, you're under. >>> print(textwrap.fill(s, 40)) Look into my eyes, look into my eyes, the eyes, the eyes, the eyes, not around the eyes, don't look around the eyes, look into my eyes, you're under. >>> print(textwrap.fill(s, 40, initial_indent=' ')) Look into my eyes, look into my eyes, the eyes, the eyes, the eyes, not around the eyes, don't look around the eyes, look into my eyes, you're under. >>> print(textwrap.fill(s, 40, subsequent_indent=' ')) Look into my eyes, look into my eyes, the eyes, the eyes, the eyes, not around the eyes, don't look around the eyes, look into my eyes, you're under. >>>
Модуль textwrap - это простой способ очистить текст, особенно если вы хотите, чтобы вывод соответствовал размерам терминала. К вопросу о размере терминала: вы можете получить его, используя os.get_terminal_size(). Например:
>>> import os
>>> os.get_terminal_size().columns
80
>>>
У метода fill() есть несколько дополнительных параметров, которые контролируют то, как он обращается с табуляцией, окончаниями предложений и т. д. За подробностями обратитесь к документации класса textwrap.TextWrapper https://docs.python.org/3.3/library/textwrap.html#textwrap.TextWrapper
На следующем шаге мы рассмотрим работу с HTML- и XML-сущностями в тексте.