[Python标准库]textwrap——格式化文本段落
来源:互联网 发布:http协议 json参数 编辑:程序博客网 时间:2024/06/05 05:53
textwrap——格式化文本段落
作用:通过调整换行符在段落中出现的位置来格式化文本。
Python 版本:2.5 及以后版本
需要美观打印时,可以用 textwrap 模块来格式化要输出的文本。这个模块允许通过编程提供类似段落自动换行或填充特性等功能。
示例数据
# textwrap_example.pysample_text = ''' The textwrap module can be used to format text for output in situations where pretty-printing is desired. It offers programmatic functionality similar to the paragraph wrapping or filling features found in many text editors.'''
填充段落
fill() 函数取文本作为输入,生成格式化的文本作为输出。
import textwrapfrom textwrap_example import sample_textprint 'No dedent:\n'print textwrap.fill(sample_text, width=50)去除现有缩进
在前面的例子中,输出里混合嵌入了制表符和额外的空格,所以格式不太美观。从示例文本删除所有行中都有的空白符前缀可以生成更好的结果,从而能直接使用 Python 代码中的 docstring 或嵌入的多行字符串,同时自动去除代码的格式化。示例字符串人为地引入了一级缩进,以便展示这个特性。
import textwrapfrom textwrap_example import sample_textdedeted_text = textwrap.dedent(sample_text)print 'Dedented:'print dedented_text由于 dedent(去除缩进)与 indent(缩进)正好相反,因此这里的结果是得到一个文本块,而且删除了各行最前面都有的空白符。如果某一行比其他行缩进更多,则会有一些空白符未删除。
以下输入:
Line one.
Line two.
Line three.
会变成:
Line one.
Line two.
Line three.
结合 dedent 和 fill
接下来,可以把去除缩进的文本传入 fill(),并提供一组不同的 width 值。
import textwrapfrom textwrap_example import sample_textdedeted_text = textwrap.dedent(sample_text).strip()for width in [ 45, 70 ]: print '%d Columns:\n' % width print textwrap.fill(dedented_text, width=width) print
这会生成指定宽度的输出。
悬挂缩进
不仅输出的宽度可以设置,还可以单独控制第一行的缩进,以区别后面各行。
import textwrapfrom textwrap_example import sample_textdedeted_text = textwrap.dedent(sample_text).strip()print textwrap.fill(dedented_text, initial_indent='', subsequent_indent=' ' * 4, width=50, )这样会生成一种悬挂缩进,即第一行的缩进小于其他行的缩进。
缩进值还可以包含非空白字符。例如,悬挂缩进可以加前缀 * 来生成项目符号。
0 0
- [Python标准库]textwrap——格式化文本段落
- 3.4 textwrap--格式化文本库
- 3.4 textwrap--格式化文本库(2)
- CSS3——文本、段落
- HTML学习笔记——(四)HTML标题、段落及文本格式化
- HTML——初识html,元素 属性 段落 文本格式化 链接 头部入门
- python模块学习- textwrap 文本包装和填充
- HTML 属性 标题 段落 文本格式化
- HTML标题、段落、文本格式化、链接
- [Python标准库]string——文本常量和模板
- python textwrap模块
- [python]标准库json格式化工具
- Python标准库学习笔记-文本
- html——文本格式化
- Python笔记-文本字符串格式化
- TextView显示丰富多彩的文字(二)——如何使用ParagraphStyle格式化段落
- fmt:重新格式化段落
- HTML标题 & 段落 & 格式化
- JQuery获取append后的动态元素:live()和on()
- matlab中conv2函数
- Ashmem 对 Android 内存分配与共享的增强
- 六要点实现Unity3D开发性能优化
- 第二章 Linux系统安装 - VMware虚拟机安装、卸载与使用
- [Python标准库]textwrap——格式化文本段落
- 对程序猿工作的一点理解
- Android 分组listview 简易实现方法
- PCA、SVD、协方差矩阵求解的关系和对比(例子说明)
- 异步block网络请求
- 在虚拟机中安装CentOS却无法上网的解决方法
- CF 335 div.2-B/606B Testing Robots(读不懂题系列)
- this指针的含义
- 10G(82599EB) 网卡测试优化(other)