使用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根据指定的宽度进行了正确的折行,并添加了开头缩进和其他行缩进。这样,我们可以轻松地将长文本转换为可读性更好的多行文本格式。
