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

使用Python中的textwrap.TextWrapper()来格式化文本

发布时间:2023-12-24 11:30:36

textwrap模块是Python中用于格式化文本的工具,其中的TextWrapper类提供了一种自动填充、缩进和折行等功能。下面是一个使用TextWrapper来格式化文本的示例:

import textwrap

# 定义一段文本
text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac maximus odio, nec iaculis nisl. Morbi tincidunt augue lobortis eros laoreet, sed ultrices mauris ultricies. Suspendisse quis metus id neque gravida placerat sit amet non nisl. Sed condimentum vehicula dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer dapibus est eu feugiat dictum. In dictum enim eget laoreet sollicitudin. Donec sed dui a velit tristique bibendum. Nam eget tristique enim. Nullam pretium massa neque, sed efficitur nulla vehicula in. Nulla facilisi."

# 创建TextWrapper对象并设置一些格式化选项
wrapper = textwrap.TextWrapper(width=40, initial_indent='    ', subsequent_indent='    ')

# 使用TextWrapper格式化文本
formatted_text = wrapper.fill(text)

# 打印格式化后的文本
print(formatted_text)

在上面的例子中,我们首先定义了一个多行文本字符串text。然后,我们创建了一个TextWrapper对象wrapper,并通过设置width参数指定了每行的最大宽度为40个字符。initial_indent参数用于指定每一段的开头的缩进字符,subsequent_indent参数指定了除了 行以外的其他行的缩进字符。

接下来,我们使用fill()函数将文本格式化成指定宽度的若干行,并将结果保存在formatted_text变量中。

最后,我们通过print()函数打印出格式化后的文本。输出结果如下:

    Lorem ipsum dolor sit amet,
    consectetur adipiscing elit. Sed ac
    maximus odio, nec iaculis nisl. Morbi
    tincidunt augue lobortis eros
    laoreet, sed ultrices mauris
    ultricies. Suspendisse quis metus id
    neque gravida placerat sit amet non
    nisl. Sed condimentum vehicula
    dictum. Pellentesque habitant morbi
    tristique senectus et netus et
    malesuada fames ac turpis egestas.
    Integer dapibus est eu feugiat dictum.
    In dictum enim eget laoreet sollicitudin.
    Donec sed dui a velit tristique
    bibendum. Nam eget tristique enim.
    Nullam pretium massa neque, sed
    efficitur nulla vehicula in. Nulla
    facilisi.

如上所示,TextWrapper根据指定的宽度进行了正确的折行,并添加了开头缩进和其他行缩进。这样,我们可以轻松地将长文本转换为可读性更好的多行文本格式。