返回顶部
首页 > 资讯 > 后端开发 > Python >Python格式化文本段落之textwrap库
  • 753
分享到

Python格式化文本段落之textwrap库

Pythontextwrap库Python库Python格式化 2022-06-02 22:06:20 753人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

一、前言 前文是针对普通的字符串数据进行处理。今天,我们要讲解的textwrap库,是对多文本进行处理的库。比如对于段落的缩进,填充,截取等,都可以通过textwrap库进行操作。 特别是自己编写打印程序的时候,可以

一、前言

前文是针对普通的字符串数据进行处理。今天,我们要讲解的textwrap库,是对多文本进行处理的库。比如对于段落的缩进,填充,截取等,都可以通过textwrap库进行操作。

特别是自己编写打印程序的时候,可以使用该库进行校正文档非常便捷,大大的加快了文本格式的处理。话不多说,我们来一步步学习textwrap库。

二、切割文档

一般来说,一篇英文文档在不考虑换行的情况下,默认是填充整个文档行才切换至下一行的。现在,我们需要保证每行必须有且仅有50个字符怎么办?

我们可以使用textwrap.fill方法,具体代码如下:


import textwrap

content = ""
with open('英文文档.txt', 'r', encoding='utf-8') as f:
    content = f.read()
print(content)
print("----")
print(textwrap.fill(content, width=50))

运行之后,分割线上下分别为原文档与textwrap.fill处理后的文档:

文档

读者可以自行测试,保证每行加上空格不多于50个字符,而且也没有任何的缩进效果。

三、文本缩进

既然通过textwrap.fill达不到文档缩进的效果。下面我们再来认识一个新的函数textwrap.indent()函数。


import textwrap

content = ""
with open('英文文档.txt', 'r', encoding='utf-8') as f:
    content = f.read()
print(textwrap.indent(content,"  "))

textwrap.indent()函数具有两个参数,一个是需要缩进的字符串,另一个是匹配的缩进字符。比如这里就是空了2格,那么字符串每行前面都会缩进2格。

缩进

当然,我们还可以选择特定的行进行缩进,textwrap.indent()函数还有第3个参数predicate,需要给它提供一个方法设置特定的规则。具体代码如下:


import textwrap

def choice_line(line):
    return len(line) % 2 == 0

content = ""
with open('英文文档.txt', 'r', encoding='utf-8') as f:
    content = f.read()
indent_str = textwrap.indent(content, "  ",predicate=choice_line)
print(indent_str)

这里,博主设置的规则是,当某行的字符串个数除2取余数等于0时,就缩进。否则便不缩进。运行之后,效果如下:

规则缩进

四、文本去缩进

既然有缩进文本,那么肯定就也有反向的操作去除缩进。下面,我们来通过函数textwrap.dedent()来去除缩进。


import textwrap

content = ""
with open('英文文档.txt', 'r', encoding='utf-8') as f:
    content = f.read()
indent_str = textwrap.indent(content, "  ")
print(textwrap.dedent(indent_str))

textwrap.dedent()函数只有需要操作的文本一个参数,效果如下:

去除缩进

这样,我们就实现了去除缩进。

五、截断文本

除了缩进与截断之外,我们还可以通过textwrap库截断文本进行操作。比如,我们常常看到某些资讯App简介会这样写“某某什么什么等等[…]”描述,这就是截取某文开头文字形成的结果字符串,textwrap.shorten正好可以完整实现,而且不会截断英文。


import textwrap

content = ""
with open('英文文档.txt', 'r', encoding='utf-8') as f:
    content = f.read()
print(textwrap.shorten(content, 100))

运行之后,效果如下:

截断字符串

到此这篇关于python格式化文本段落之textwrap库的文章就介绍到这了,更多相关Python textwrap库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python格式化文本段落之textwrap库

本文链接: https://lsjlt.com/news/10592.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python格式化文本段落之textwrap库
    一、前言 前文是针对普通的字符串数据进行处理。今天,我们要讲解的textwrap库,是对多文本进行处理的库。比如对于段落的缩进,填充,截取等,都可以通过textwrap库进行操作。 特别是自己编写打印程序的时候,可以...
    99+
    2022-06-02
    Python textwrap库 Python库 Python格式化
  • Python格式化文本段落之textwrap库的示例分析
    这篇文章主要介绍了Python格式化文本段落之textwrap库的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言前文是针对普通的字符串数据进行处理。今天,我们...
    99+
    2023-06-15
  • python编程开发之textwrap文本样式处理技巧
    本文实例讲述了python编程开发之textwrap文本样式处理技巧。分享给大家供大家参考,具体如下: 在看python的API的时候,发现python的textwrap在处理字符串样式的时候功能强大 在这...
    99+
    2022-06-04
    样式 编程开发 文本
  • Python自动化办公之PPT段落的使用
    目录PPT 段落的使用获取段落段落添加内容段落中定义多个段落自定义段落上一章节我们学习了基础的定义 PPT 的方法以及每一页中的样式,这节课我们将真正的在 PPT 中添加内容,学习一...
    99+
    2024-04-02
  • Python自动化办公之PPT段落如何使用
    本文小编为大家详细介绍“Python自动化办公之PPT段落如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python自动化办公之PPT段落如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。PPT 段...
    99+
    2023-06-30
  • Python之字符串格式化
    Python目前提供的字符串格式化方式有两种:百分号方式format方式这两种方式在Python2和Python3中都适用,百分号方式是Python一直内置存在的,format方式为近期才出来的。旧式%格式化参数格式%[(name)][fl...
    99+
    2023-01-31
    字符串 Python
  • Python批量调整Word文档中的字体、段落间距及格式python调用函数批量调整word格式
        最近关于批处理格式的问题我查了很多资料,但是都没有找到自己想要的答案。接上期,上篇博文我简单介绍了python操作Word的一些基本操作,本篇重点介绍如何批量将python中的文字导入到Word中,评设置其字体字号、间距、样式等。...
    99+
    2023-09-16
    python word 开发语言
  • 怎么用HTML格式化文本
    小编给大家分享一下怎么用HTML格式化文本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! HTML提供了多个标签,您可以使用它...
    99+
    2024-04-02
  • python对网页文本的格式化实例方法
    1、一个网页通常包含文本信息。对于不同的文本类型,我们可以选择合适的HTML语义元素进行标记。 2、em元素用于标记和强调部分内容,small元素用于注释和署名文本。 实例 &l...
    99+
    2024-04-02
  • 如何分析HTML文本格式化
    如何分析HTML文本格式化,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。HTML 格式化标签HTML 使用标签<b> 与<i...
    99+
    2024-04-02
  • linux如何实现文本格式化
    这篇文章主要介绍了linux如何实现文本格式化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。文本格式化你可以用fmt命令重新格式化每个段落。在本例中,我要用分割超长的行并且填...
    99+
    2023-06-27
  • 揭秘 HTML 段落标签的玄机:优化文本布局的秘诀
    1. 段落间距 标签会自动在段落之间添加上、下间距,称为段落间距。此间距是通过浏览器样式表(CSS)控制的,并且可以根据设计需要进行自定义。适当的段落间距可以提高文本的可读性,防止文本块看起来拥挤或杂乱无章。 2. 对齐 标签支持文本...
    99+
    2024-04-02
  • Python学习之字符串格式化
    目录一、这种占位符有很多二、具体的使用方式1、可以一次多插入几个数值2、打印浮点数(小数)3、打印百分数4、调用字典进行拼接5、sep 设置分割符号6、flags 格式符号三、for...
    99+
    2024-04-02
  • HTML文本格式化标签有哪些
    本文小编为大家详细介绍“HTML文本格式化标签有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“HTML文本格式化标签有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2024-04-02
  • HTML文本标签、列表和文本格式化的方法
    这篇文章主要介绍“HTML文本标签、列表和文本格式化的方法”,在日常操作中,相信很多人在HTML文本标签、列表和文本格式化的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • Python利用pangu模块实现文本格式化小工具
    其实使用pangu做文本格式标准化的业务代码在之前就实现了,主要能够将中文文本文档中的文字、标点符号等进行标准化。 但是为了方便起来我们这里使用了Qt5将其做成了一个可以操作的页面应...
    99+
    2024-04-02
  • Python学习5——基本格式化输出
    整数的格式化输出   十进制、八进制、十六进制 num01 = 100 print("十进制输出:%d"%num01) print("八进制输出:%o"%num01) print("十六进制输出:%x"%num01) #放在一行 pr...
    99+
    2023-01-30
    Python
  • GO项目实战之Gorm格式化时间字段实现
    目录goshop开源项目的更新解决方法:补充:gorm时间格式化问题详解总结goshop开源项目的更新 备注:前面项目中用到的代码已经分享到GitHub中去了,并且以后所有项目中会出...
    99+
    2023-01-07
    golang格式化时间 gorm格式化时间字段 gorm使用
  • Python全栈之路系列之字符串格式化
    This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '%...
    99+
    2023-01-31
    之路 字符串 系列之
  • HTML5中文本格式化的示例分析
    这篇文章将为大家详细讲解有关HTML5中文本格式化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。文本格式化:<b>:加粗文字<i>:斜体...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作