Python - ponowne formatowanie akapitów
Formatowanie akapitów jest potrzebne, gdy mamy do czynienia z dużą ilością tekstu i doprowadzamy go do prezentowalnego formatu. Możemy po prostu chcieć wydrukować każdy wiersz z określoną szerokością lub spróbować zwiększyć wcięcie dla każdego następnego wiersza podczas drukowania wiersza. W tym rozdziale używamy modułu o nazwie astextwrap3 aby odpowiednio sformatować akapity.
Najpierw musimy zainstalować wymagany pakiet w następujący sposób
pip install textwrap3
Zawijanie do stałej szerokości
W tym przykładzie dla akapitu określamy szerokość 30 znaków w każdym wierszu. Użyj funkcji zawijania, określając wartość parametru szerokości.
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])
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
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.
Zmienne wcięcie
W tym przykładzie zwiększamy wcięcie dla każdego wiersza wiersza do wydrukowania.
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
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
**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?