Форматирование абзацев необходимо, когда мы имеем дело с большим количеством текста и переводим его в презентабельный формат. Мы можем просто захотеть напечатать каждую строку с определенной шириной или попытаться увеличить отступ для каждой следующей строки при печати стихотворения. В этой главе мы используем модуль с именем textwrap3 для форматирования абзацев по мере необходимости.
Сначала нам нужно установить необходимый пакет следующим образом
pip install textwrap3
Упаковка в фиксированную ширину
В этом примере мы указываем ширину 30 символов в каждой строке для абзаца. Используйте функцию обтекания, указав значение для параметра ширины.
from textwrap3 import wrap text = 'In late summer 1945, guests are gathered for the wedding reception of Don Vito Corleones daughter Connie (Talia Shire) and Carlo Rizzi (Gianni Russo). Vito (Marlon Brando), the head of the Corleone Mafia family, is known to friends and associates as Godfather. He and Tom Hagen (Robert Duvall), the Corleone family lawyer, are hearing requests for favors because, according to Italian tradition, no Sicilian can refuse a request on his daughters wedding day.' x = wrap(text, 30) for i in range(len(x)): print(x[i])
Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:
In late summer 1945, guests are gathered for the wedding reception of Don Vito Corleones daughter Connie (Talia Shire) and Carlo Rizzi (Gianni Russo). Vito (Marlon Brando), the head of the Corleone Mafia family, is known to friends and associates as Godfather. He and Tom Hagen (Robert Duvall), the Corleone family lawyer, are hearing requests for favors because, according to Italian tradition, no Sicilian can refuse a request on his daughters wedding day.
Переменный отступ
В этом примере мы увеличиваем отступ для каждой строки поэмы, которая будет напечатана.
import textwrap3 FileName = ("path\poem.txt") print("**Before Formatting**") print(" ") data=file(FileName).readlines() for i in range(len(data)): print data[i] print(" ") print("**After Formatting**") print(" ") data=file(FileName).readlines() for i in range(len(data)): dedented_text = textwrap3.dedent(data[i]).strip() print dedented_text
Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод: