码迷,mamicode.com
首页 > 编程语言 > 详细

【python cookbook】【字符串与文本】16.以固定的列数重新格式化文本

时间:2016-08-21 22:38:03      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

问题:重新格式化一些很长的字符串,以指定的列数来显示

解决方案:textwrap模块的fill()方法来实现

# A long string
s = "Look into my eyes, look into my eyes, the eyes, the eyes, the eyes, not around the eyes, don‘t look around the eyes, look into my eyes, you‘re under."

import textwrap

print(textwrap.fill(s, 70))
print()

print(textwrap.fill(s, 40))
print()

print(textwrap.fill(s, 40, initial_indent=    )) #initial_indent:在第一行的行首添加指定的字符显示。默认是空白。如果首行是空白行就不会添加。print()

print(textwrap.fill(s, 40, subsequent_indent=    )) #subsequent_indent:除了第一行,所有其它行都在行首添加这个字符串的输出。默认为空。
print()
>>> ================================ RESTART ================================
>>> 
Look into my eyes, look into my eyes, the eyes, the eyes, the eyes,
not around the eyes, dont look around the eyes, look into my eyes,
youre under.

Look into my eyes, look into my eyes,
the eyes, the eyes, the eyes, not around
the eyes, dont look around the eyes,
look into my eyes, youre under.

    Look into my eyes, look into my
eyes, the eyes, the eyes, the eyes, not
around the eyes, dont look around the
eyes, look into my eyes, youre under.

Look into my eyes, look into my eyes,
    the eyes, the eyes, the eyes, not
    around the eyes, dont look around
    the eyes, look into my eyes, youre
    under.

>>> 

关于终端的尺寸大小,可以通过os.get_terminal_size()来获取:

>>> import os
>>> os.get_terminal_size().columns
80

fill()方法还有其他的额外的选项可以用来控制制表符、句号等,请参阅textwrap.TextWrapper类的文档  https://docs.python.org/3.3/library/textwrap.html#textwrap.TextWrapper

 

【python cookbook】【字符串与文本】16.以固定的列数重新格式化文本

标签:

原文地址:http://www.cnblogs.com/apple2016/p/5793772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!