textwrap -- 文本自动换行与填充

textwrap模块提供了一些快捷函数和TextWrapper类,用于文本自动换行、填充、缩进和去缩进操作。常用函数如wrap()、fill()、shorten()和dedent(),TextWrapper类则允许更精细的定制。本文通过示例介绍这些功能的用法。
摘要由CSDN通过智能技术生成

前情提示: 测试代码中,右尖括号(>)表示命令行中输入的命令; 单独一行并以井字符(#)开头的为输出结构; 库的导入仅在本文的第一个测试代码中展现,其他代码块均省略库的导入代码。

  • 系统类型: Windows 10
  • python 版本: Python 3.9.0

textwrap 可以将文本字符串按照一定的规则换行,或在对文本字符串进行一些简单的处理。

textwrap 模块提供了一些快捷函数,通常情况下这些快捷函数就足够满足需求,如果无与需求相符的快捷函数,还可以自定义 TextWrapper 类来满足需求。

快捷函数
textwrap.wrap(text, width=70, **kwargs)

自动换行并以列表类型返回

参数:
    text: str,要处理的字符串
    width: int,默认为 70,每行字符最大数量
    **kwargs: 可选参数,与 TextWrapper 实例中的参数相同
返回值:
    list[str, str, str, ...],包含一个或多个 str 类型子元素的列表

text 以每行 width 个字符自动换行,所有行组成列表返回,行尾不带换行符。

import textwrap

s1 = 'abcdefghijklmnopqrstuvwxyz'
print(textwrap.wrap(s1, 7))
# ['abcdefg', 'hijklmn', 'opqrstu', 'vwxyz']

s11 = 'ab\ncd efghijklmnop'
print(textwrap.wrap(s11, 10))
# ['ab cd e', 'fghijklmno', 'p']

对于表示换行的特殊字符 \n 被转换成空格,转换后的空格被当作了一个字符来处理。 那么就来测试测试所有转义字符:

s11 = 'start\a\b\f\n\r\t\v\\\'\"\0end'
print(textwrap.fill(s11, 30))
# ['start\x07\x08            \\\'"\x00end']

\a\b&#x

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值