Python - Reformatage des paragraphes

Le formatage des paragraphes est nécessaire lorsque nous traitons une grande quantité de texte et l'amenons dans un format présentable. Nous pouvons simplement vouloir imprimer chaque ligne avec une largeur spécifique ou essayer d'augmenter l'indentation pour chaque ligne suivante lors de l'impression d'un poème. Dans ce chapitre, nous utilisons un module nommétextwrap3 pour formater les paragraphes selon les besoins.

Nous devons d'abord installer le package requis comme suit

pip install textwrap3

Emballage à une largeur fixe

Dans cet exemple, nous spécifions une largeur de 30 caractères dans chaque ligne pour un paragraphe. Utilisez la fonction wrap en spécifiant une valeur pour le paramètre width.

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

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

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.

Indentation variable

Dans cet exemple, nous augmentons le retrait pour chaque ligne d'un poème à imprimer.

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

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

**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?