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解决Fedora解压zip时中文乱码的方法
Sep 18 Python
Python中运算符"=="和"is"的详解
Oct 08 Python
PyQt5每天必学之布局管理
Apr 19 Python
Python3中的json模块使用详解
May 05 Python
python调用OpenCV实现人脸识别功能
May 25 Python
django框架自定义用户表操作示例
Aug 07 Python
记一次python 内存泄漏问题及解决过程
Nov 29 Python
python爬虫爬取微博评论案例详解
Mar 27 Python
Django 项目通过加载不同env文件来区分不同环境
Feb 17 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
python单向链表实例详解
May 25 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 和 MySQL 基础教程(四)
2006/10/09 PHP
php基于session实现数据库交互的类实例
2015/08/03 PHP
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
JS动态改变表格边框宽度的方法
2015/03/31 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
基于python log取对数详解
2018/06/08 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
python中for in的用法详解
2020/04/17 Python
Python configparser模块常用方法解析
2020/05/22 Python
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
《春笋》教学反思
2014/04/15 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
入党培养人考察意见
2015/06/08 职场文书
校友会致辞
2015/07/30 职场文书
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL