textwrap 是 [[Python]] 标准库中用于文本自动换行与填充的模块,适用于格式化段落输出。
textwrap
.fill()
可以指定字符换行。
textwrap.fill( str, width=42, # 最大宽度 initial_indent=" ", # 首行缩进 subsequent_indent="" # 非首行缩进(前缀) ).dedent()
去除所有行的行首空格。
语法:
textwrap.dedent(text)
- text: 文本
textwrap.dedent(str)在 [[Python 工匠]]中提到: 在代码已有缩进层级的情况下,如果不希望插入的多行字符串,不破坏已有代码的缩进视觉风格,除了把这段字符串提取为全局变量之外,用 .dedent() 处理是一个更好的方案。
.indent()
为每一行自动增加缩进或是指定符号,同样也可以使用 fill 中的 subsequent_indent 实现。
textwrap.indent(str, ">").shorten()
长文本截断(不支持中文)。
textwrap.shorten( str, width=10, # 指定长度后截断 placeholder="..." # 截断占位符,默认值是 [...] )# 返回: 'Hello...'