Python - Reformatação de parágrafos

A formatação de parágrafos é necessária quando lidamos com grande quantidade de texto e o trazemos para um formato apresentável. Podemos querer apenas imprimir cada linha com largura específica ou tentar aumentar o recuo para cada linha seguinte ao imprimir um poema. Neste capítulo, usamos um módulo denominado comotextwrap3 para formatar os parágrafos conforme necessário.

Primeiro, precisamos instalar o pacote necessário da seguinte forma

pip install textwrap3

Envolvimento para uma largura fixa

Neste exemplo, especificamos uma largura de 30 caracteres em cada linha de um parágrafo. Use a função de agrupamento especificando um valor para o parâmetro de largura.

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])

Quando executamos o programa acima, obtemos a seguinte saída -

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.

Recuo Variável

Neste exemplo, aumentamos o recuo para cada linha de um poema a ser impresso.

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

Quando executamos o programa acima, obtemos a seguinte saída -

**Before Formatting**
 Summer is here.
  Sky is bright.
	Birds are gone.
	 Nests are empty.
	  Where is Rain?
**After Formatting**
 
Summer is here.
Sky is bright.
Birds are gone.
Nests are empty.
Where is Rain?