python编程开发之textwrap文本样式处理技巧


Posted in Python onNovember 13, 2015

本文实例讲述了python编程开发之textwrap文本样式处理技巧。分享给大家供大家参考,具体如下:

在看python的API的时候,发现python的textwrap在处理字符串样式的时候功能强大

在这里我做了一个demo:

textwrap提供了一些方法:

wrap(text, width = 70, **kwargs):这个函数可以把一个字符串拆分成一个序列

from textwrap import *
#使用textwrap中的wrap()方法
def test_wrap():
  test_str = '''\
  The textwrap module provides two convenience functions, wrap() and fill(), as well as 1
  TextWrapper, the class that does all the work, and two utility functions, dedent() and indent(). If 2
  you're just wrapping or filling one or two text strings, the convenience functions should be good 3
  enough; otherwise, you should use an instance of TextWrapper for efficiency. 4
  '''
  print(wrap(test_str, 20))
def main():
  test_wrap()
if __name__ == '__main__':
  main()

输出效果:

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
['  The textwrap', 'module provides two', 'convenience', 'functions, wrap()', 'and fill(), as well', 'as 1', 'TextWrapper, the', 'class that does all', 'the work, and two', 'utility functions,', 'dedent() and', 'indent(). If 2', 'you're just wrapping', 'or filling one or', 'two text strings,', 'the convenience', 'functions should be', 'good 3   enough;', 'otherwise, you', 'should use an', 'instance of', 'TextWrapper for', 'efficiency. 4']
>>>

我们会发现,wrap()函数,把字符串拆分成了一个序列,在这个序列中,每个元素的长度是一样的。

fill(text, width=70, **kwargs) :该方法可以根据指定的长度,进行拆分字符串,然后逐行显示

from textwrap import *
#fill()方法
def test_wrap():
  test_str = '''\
  The textwrap module provides two convenience functions, wrap() and fill(), as well as 1
  TextWrapper, the class that does all the work, and two utility functions, dedent() and indent(). If 2
  you're just wrapping or filling one or two text strings, the convenience functions should be good 3
  enough; otherwise, you should use an instance of TextWrapper for efficiency. 4
  '''
  print(fill(test_str, 40))
def main():
  test_wrap()
if __name__ == '__main__':
  main()

运行效果:

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
  The textwrap module provides two
convenience functions, wrap() and
fill(), as well as 1   TextWrapper,
the class that does all the work, and
two utility functions, dedent() and
indent(). If 2   you're just wrapping
or filling one or two text strings, the
convenience functions should be good 3
enough; otherwise, you should use an
instance of TextWrapper for efficiency.
>>>

dedent()方法->文本进行不缩进显示,相应的indent()方法 -> 进行缩进显示

from textwrap import *
#dedent()方法
def test_wrap():
  test_str = '''\
  The textwrap module provides two convenience
    functions, wrap() and fill(), as well as 1
  TextWrapper, the class that does all the work,
    and two utility functions, dedent() and indent(). If 2
  you're just wrapping or filling one or two text strings,
    the convenience functions should be good 3
  enough; otherwise, you should use an instance
    of TextWrapper for efficiency. 4
  '''
  print(repr(dedent(test_str)))
def main():
  test_wrap()
if __name__ == '__main__':
  main()

运行效果:

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
'The textwrap module provides two convenience\n  functions, wrap() and fill(), as well as 1\nTextWrapper, the class that does all the work,\n  and two utility functions, dedent() and indent(). If 2\nyou're just wrapping or filling one or two text strings,\n  the convenience functions should be good 3\nenough; otherwise, you should use an instance\n  of TextWrapper for efficiency. 4\n'
>>>

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中lambda的用法及其与def的区别解析
Jul 28 Python
python调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 Python
python中pandas.DataFrame排除特定行方法示例
Mar 12 Python
教大家玩转Python字符串处理的七种技巧
Mar 31 Python
python迭代dict的key和value的方法
Jul 06 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
Python测试模块doctest使用解析
Aug 10 Python
使用OpenCV实现仿射变换—缩放功能
Aug 29 Python
使用python切片实现二维数组复制示例
Nov 26 Python
django自带的权限管理Permission用法说明
May 13 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
用Python创建简易网站图文教程
Jun 11 Python
python编程开发之日期操作实例分析
Nov 13 #Python
python编程开发之类型转换convert实例分析
Nov 13 #Python
python开发之文件操作用法实例
Nov 13 #Python
python开发中range()函数用法实例分析
Nov 12 #Python
python开发中module模块用法实例分析
Nov 12 #Python
Python中Class类用法实例分析
Nov 12 #Python
python开发之函数定义实例分析
Nov 12 #Python
You might like
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
JS解析url查询参数的简单代码
2017/08/06 Javascript
微信小程序 POST请求的实例详解
2017/09/29 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
python如何停止递归
2020/09/09 Python
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
会计电算化个人求职信范文
2014/01/24 职场文书
网络编辑职责
2014/03/01 职场文书
综治工作汇报材料
2014/10/27 职场文书
支行行长竞聘报告
2014/11/06 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL