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

Python中的textwrap模块用于格式化文本段落,使其更易阅读,特别是在处理长字符串时。它能自动换行、缩进、填充和截断文本,非常适合命令行工具或文档生成场景。
基本用法:wrap() 和 fill()
textwrap.wrap() 将一段文本拆分为适合指定宽度的行列表,每行不超过设定字符数。
textwrap.fill() 功能类似,但直接返回拼接好的字符串,而不是列表。
示例:
立即学习“Python免费学习笔记(深入)”;
-
textwrap.wrap(text, width=40)返回一个列表,每行最多40个字符 -
textwrap.fill(text, width=40)返回换行符连接的字符串
控制缩进:initial_indent 和 subsequent_indent
你可以为段落添加首行缩进或多行缩进,常用于生成报告或引用文本。
-
initial_indent设置第一行的前缀(如空格或符号) -
subsequent_indent设置后续行的前缀
例如在打印日志时让内容对齐:
dmSOBC SHOP网店系统由北京时代胜腾信息技术有限公司(http://www.webzhan.com)历时6个月开发完成,本着简单实用的理念,商城在功能上摒弃了外在装饰的一些辅助功能,尽可能的精简各项模块开发,做到有用的才开发,网店V1.0.0版本开发完成后得到了很多用户的使用并获得了好评,公司立即对网店进行升级,其中包括修正客户提出的一些意见和建议,现对广大用户提供免费试用版本,如您在使用
去除原有格式: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 能让你的文本输出更整洁,尤其在终端界面中效果明显。不复杂但容易忽略。










