解决Python对齐文本字符串问题


Posted in Python onAugust 28, 2019

问题

我们需要以某种对齐方式将文本做格式化处理。

解决方案

对于基本的字符串对齐要求,可以使用字符串的ljust()、rjust()和center()方法。示例如下:

>>> text = 'Hello World'
>>> text.ljust(20)
'Hello World '
>>> text.rjust(20)
'   Hello World'
>>> text.center(20)
'  Hello World '
>>>

所有这些方法都可接受一个可选的填充字符。例如:

>>> text.rjust(20,'=')
'=========Hello World'
>>> text.center(20,'*')
'****Hello World*****'
>>>

format()函数也可以用来轻松完成对齐的任务。需要做的就是合理利用'<'、'>',或'^'字符以及一个期望的宽度值[2]。例如:

>>> format(text, '>20')
'   Hello World'
>>> format(text, '<20')
'Hello World '
>>> format(text, '^20')
'  Hello World '
>>>

如果想包含空格之外的填充字符,可以在对齐字符之前指定:

>>> format(text, '=>20s')
'=========Hello World'
>>> format(text, '*^20s')
'****Hello World*****'
>>>

当格式化多个值时,这些格式化代码也可以用在format()方法中。例如:

>>> '{:>10s} {:>10s}'.format('Hello', 'World')
' Hello  World'
>>>

format()的好处之一是它并不是特定于字符串的。它能作用于任何值,这使得它更加通用。例如,可以对数字做格式化处理:

>>> x = 1.2345
>>> format(x, '>10')
'  1.2345'
>>> format(x, '^10.2f')
'  1.23 '

讨论

在比较老的代码中,通常会发现%操作符用来格式化文本。例如:

>>> '%-20s' % text
'Hello World '
>>> '%20s' % text
'           Hello World'

但是在新的代码中,我们应该会更钟情于使用format()函数或方法。format()比%操作符提供的功能要强大多了。此外,format()可作用于任意类型的对象,比字符串的ljust()、rjust()以及center()方法要更加通用。

总结

以上所述是小编给大家介绍的解决Python对齐文本字符串问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
实例讲解Python编程中@property装饰器的用法
Jun 20 Python
利用Python脚本生成sitemap.xml的实现方法
Jan 31 Python
python利用urllib和urllib2访问http的GET/POST详解
Sep 27 Python
Python自动化运维_文件内容差异对比分析
Dec 13 Python
python微信跳一跳系列之自动计算跳一跳距离
Feb 26 Python
django初始化数据库的实例
May 27 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
Jun 03 Python
在python 中split()使用多符号分割的例子
Jul 15 Python
Python argparse模块应用实例解析
Nov 15 Python
python 实现图片批量压缩的示例
Dec 18 Python
python前后端自定义分页器
Apr 13 Python
python+jinja2实现接口数据批量生成工具
Aug 28 #Python
解决Atom安装Hydrogen无法运行python3的问题
Aug 28 #Python
opencv实现简单人脸识别
Feb 19 #Python
Atom Python 配置Python3 解释器的方法
Aug 28 #Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
Aug 28 #Python
Numpy的简单用法小结
Aug 28 #Python
Python 通过截图匹配原图中的位置(opencv)实例
Aug 27 #Python
You might like
php数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php中并发读写文件冲突的解决方案
2013/10/25 PHP
php使用GD库创建图片缩略图的方法
2015/06/10 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
jquery插件制作教程 txtHover
2012/08/17 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
vue-router单页面路由
2017/06/17 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
编程语言Python的发展史
2014/09/26 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
《画风》教学反思
2014/04/16 职场文书
工会趣味活动方案
2014/08/18 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
幼儿园辞职信
2015/05/13 职场文书
不同意离婚代理词
2015/05/23 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL