Python - Định dạng lại các đoạn

Định dạng các đoạn văn là cần thiết khi chúng ta xử lý một lượng lớn văn bản và đưa nó về định dạng dễ trình bày. Chúng ta có thể chỉ muốn in từng dòng với chiều rộng cụ thể hoặc cố gắng tăng độ thụt lề cho mỗi dòng tiếp theo khi in một bài thơ. Trong chương này, chúng tôi sử dụng một mô-đun có tên làtextwrap3 để định dạng các đoạn văn khi cần thiết.

Đầu tiên chúng ta cần cài đặt gói yêu cầu như sau

pip install textwrap3

Gói theo chiều rộng cố định

Trong ví dụ này, chúng tôi chỉ định độ rộng 30 ký tự trong mỗi dòng cho một đoạn văn. Sử dụng hàm bọc bằng cách chỉ định giá trị cho tham số chiều rộng.

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

Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:

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.

Sự chú ý thay đổi

Trong ví dụ này, chúng tôi tăng thụt lề cho mỗi dòng của bài thơ sẽ được in.

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

Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:

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