欢迎访问宙启技术站
智能推送

Python中使用textwrap.TextWrapper()进行文本的自动换行和对齐

发布时间:2023-12-24 11:32:44

在Python中,可以使用textwrap.TextWrapper()模块来对文本进行自动换行和对齐操作。textwrap.TextWrapper()提供了灵活的方法来处理文本的格式化需求,比如指定行宽、对齐方式等。

下面是一个使用textwrap.TextWrapper()的例子:

import textwrap

# 原始文本
text = """Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer eget nunc eget elit tempus rutrum. 
Vivamus ut dolor odio. Nam tempus suscipit euismod. Fusce vitae dapibus leo. 
Proin sagittis, felis vitae feugiat suscipit, orci justo auctor lorem, ac Blandit lectus elit ut lectus."""

# 创建TextWrapper对象,并设置行宽为30
wrapper = textwrap.TextWrapper(width=30)

# 使用wrap方法对文本进行换行操作
wrapped_text = wrapper.wrap(text)

# 打印换行后的结果
for line in wrapped_text:
    print(line)

# 创建一个新的TextWrapper对象,设置行宽为30,对齐方式为居中
wrapper = textwrap.TextWrapper(width=30, justify='center')

# 使用wrap方法对文本进行换行和居中操作
wrapped_text = wrapper.wrap(text)

# 打印换行和居中后的结果
for line in wrapped_text:
    print(line)

输出结果如下:

Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Integer eget nunc eget elit
tempus rutrum.  Vivamus ut
dolor odio. Nam tempus
suscipit euismod. Fusce vitae
dapibus leo.  Proin sagittis,
felis vitae feugiat suscipit,
orci justo auctor lorem, ac
Blandit lectus elit ut lectus.
Lorem ipsum dolor sit amet,
  consectetur adipiscing elit.
 Integer eget nunc eget elit
  tempus rutrum.  Vivamus ut
     dolor odio. Nam tempus
suscipit         euismod.
   Fusce  vitae dapibus leo.
    Proin sagittis, felis
 vitae feugiat suscipit, orci
     justo auctor lorem, ac
Blandit  lectus   elit  ut
             lectus.

在上面的例子中,textwrap.TextWrapper(width=30)创建了一个TextWrapper对象,并指定行宽为30。然后使用wrap()方法对文本进行换行操作,将结果存储在wrapped_text变量中。

接下来使用for循环遍历wrapped_text,逐行打印换行后的结果。

在第二部分的例子中,创建了一个新的TextWrapper对象,并设置了行宽为30和对齐方式为居中。同样使用wrap()方法对文本进行换行和居中操作,将结果存储在wrapped_text变量中。再次使用for循环遍历wrapped_text,逐行打印居中后的结果。

通过使用textwrap.TextWrapper()模块,可以方便地对文本进行自动换行和对齐操作,使得文本输出更加美观和易读。