Python标准库之textwrap模块

时间:2022-07-19 22:22:30

textwrap通过调整换行符的位置来格式化文本:以下是全部方法

__all__ = ['TextWrapper', 'wrap', 'fill', 'dedent', 'indent', 'shorten']

fill() 调整换行符,每行显示给定宽度

Python标准库之textwrap模块
text = """asdsafsdkaf
sadfsadfasd
sadfasdfsad
"""
print(text)
print(textwrap.fill(text, width=30))

"""
asdsafsdkaf
sadfsadfasd
sadfasdfsad

asdsafsdkaf sadfsadfasd
sadfasdfsad

"""
Python标准库之textwrap模块
dedent()去除缩进
Python标准库之textwrap模块
print(textwrap.dedent(text))

"""
asdsafsdkaf
sadfsadfasd
sadfasdfsad
"""
Python标准库之textwrap模块

indent() 给定前缀

Python标准库之textwrap模块
print(textwrap.indent(text, prefix='----'))
"""
----    asdsafsdkaf
----        sadfsadfasd
----    sadfasdfsad

"""
Python标准库之textwrap模块

首行缩进

Python标准库之textwrap模块
detent_text = textwrap.dedent(text).strip()

print(textwrap.fill(detent_text,
                    initial_indent='  ',
                    subsequent_indent='',
                    width=20))

"""
  asdsafsdkaf
sadfsadfasd
sadfasdfsad
"""
Python标准库之textwrap模块
shorten() 多余的省略号
print(textwrap.shorten(text, width=20))

"""
asdsafsdkaf [...]
"""

wrap() 大致是按给定宽度把切割每一行,给定宽度够宽,就把换行符换成空格

print(textwrap.wrap(text, width=10))

"""
['     asdsa', 'fsdkaf', 'sadfsadfas', 'd     sadf', 'asdfsad']
"""