信息发布→ 登录 注册 退出

python中的Textwrap模块如何使用?

发布时间:2025-11-29

点击量:
textwrap模块用于格式化文本,提供自动换行、缩进、填充和截断功能。wrap()返回指定宽度的行列表,fill()返回换行拼接的字符串,initial_indent和subsequent_indent可控制首行及后续行缩进,dedent()移除多行字符串共有的前导空白,shorten()在空格处截断文本并添加省略号,适用于命令行工具和文档生成,提升文本可读性。

Python中的textwrap模块用于格式化文本段落,使其更易阅读,特别是在处理长字符串时。它能自动换行、缩进、填充和截断文本,非常适合命令行工具或文档生成场景。

基本用法:wrap() 和 fill()

textwrap.wrap() 将一段文本拆分为适合指定宽度的行列表,每行不超过设定字符数。

textwrap.fill() 功能类似,但直接返回拼接好的字符串,而不是列表。

text = "This is a long sentence that needs to be wrapped into multiple lines for better readability."

示例:

  • textwrap.wrap(text, width=40) 返回一个列表,每行最多40个字符
  • textwrap.fill(text, width=40) 返回换行符连接的字符串

控制缩进:initial_indent 和 subsequent_indent

你可以为段落添加首行缩进或多行缩进,常用于生成报告或引用文本。

  • initial_indent 设置第一行的前缀(如空格或符号)
  • subsequent_indent 设置后续行的前缀

例如在打印日志时让内容对齐:

print(textwrap.fill(text, width=50, initial_indent=" ", subsequent_indent=" "))

去除原有格式:dedent()

textwrap.dedent() 用于移除多行字符串中每一行共有的前导空白,特别适合处理三重引号包裹的文本。

常见于函数文档或模板字符串中保持代码缩进美观的同时不保留多余空格。

doc = """\ This line starts with spaces. So does this one. """ print(textwrap.dedent(doc))

截断文本:shorten()

当你需要将文本压缩到固定长度并加上省略号,可以用 shorten()

  • 指定 width 参数,超出部分会被替换为 ...
  • 只会在空格处断开,保证单词完整

例如:

textwrap.shorten("This is a very long text", width=15) # 输出: "This is a..."

基本上就这些。合理使用 textwrap 能让你的文本输出更整洁,尤其在终端界面中效果明显。不复杂但容易忽略。

标签:# python  # app  # 工具  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!