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

Python格式化文本段落之textwrap库的示例分析

2023-06-15 00:06:55 616人浏览 薄情痞子

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

摘要

这篇文章主要介绍了python格式化文本段落之textwrap库的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言前文是针对普通的字符串数据进行处理。今天,我们

这篇文章主要介绍了python格式化文本段落之textwrap库的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、前言

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

特别是自己编写打印程序的时候,可以使用该库进行校正文档非常便捷,大大的加快了文本格式的处理。

二、切割文档

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

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

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

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

Python格式化文本段落之textwrap库的示例分析

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

三、文本缩进

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

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

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

Python格式化文本段落之textwrap库的示例分析

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

import textwrapdef choice_line(line):    return len(line) % 2 == 0content = ""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时,就缩进。否则便不缩进。运行之后,效果如下:

Python格式化文本段落之textwrap库的示例分析

四、文本去缩进

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

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

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

Python格式化文本段落之textwrap库的示例分析

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

五、截断文本

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

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

运行之后,效果如下:

Python格式化文本段落之textwrap库的示例分析

Python的优点有哪些

1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。

感谢你能够认真阅读完这篇文章,希望小编分享的“Python格式化文本段落之textwrap库的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: Python格式化文本段落之textwrap库的示例分析

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

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

猜你喜欢
  • Python格式化文本段落之textwrap库的示例分析
    这篇文章主要介绍了Python格式化文本段落之textwrap库的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言前文是针对普通的字符串数据进行处理。今天,我们...
    99+
    2023-06-15
  • Python格式化文本段落之textwrap库
    一、前言 前文是针对普通的字符串数据进行处理。今天,我们要讲解的textwrap库,是对多文本进行处理的库。比如对于段落的缩进,填充,截取等,都可以通过textwrap库进行操作。 特别是自己编写打印程序的时候,可以...
    99+
    2022-06-02
    Python textwrap库 Python库 Python格式化
  • HTML5中文本格式化的示例分析
    这篇文章将为大家详细讲解有关HTML5中文本格式化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。文本格式化:<b>:加粗文字<i>:斜体...
    99+
    2024-04-02
  • HTML中文本格式化的示例分析
    这篇文章给大家分享的是有关HTML中文本格式化的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。HTML 文本格式化<!DOCTYPE HTML> &...
    99+
    2024-04-02
  • CSS样式之背景、文本的示例分析
    这篇文章主要为大家展示了“CSS样式之背景、文本的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS样式之背景、文本的示例分析”这篇文章吧。一、背景1...
    99+
    2024-04-02
  • fstab文件格式的示例分析
    这篇文章将为大家详细讲解有关fstab文件格式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。fstab文件中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/...
    99+
    2023-06-13
  • html中预格式化的示例分析
    这篇文章主要介绍html中预格式化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! <pre>......</pre> 浏览是效果和编写是效果格式一...
    99+
    2024-04-02
  • vue时间格式化的示例分析
    这篇文章给大家分享的是有关vue时间格式化的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。整理文档,搜刮出一个vue时间格式化实例代码,稍微整理精简一下做下分享。expo...
    99+
    2024-04-02
  • javascript中对数据格式化的示例分析
    这篇文章将为大家详细讲解有关javascript中对数据格式化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。保留小数点后面两位在一些要求精度没有那么准确的场景下...
    99+
    2024-04-02
  • Eclipse代码格式化设置的示例分析
    这篇文章给大家分享的是有关Eclipse代码格式化设置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。自用项目中统一Eclipse格式化Java、JavaScript、JSP、HTML代码设置1.Wind...
    99+
    2023-05-30
    eclipse
  • python对网页文本的格式化实例方法
    1、一个网页通常包含文本信息。对于不同的文本类型,我们可以选择合适的HTML语义元素进行标记。 2、em元素用于标记和强调部分内容,small元素用于注释和署名文本。 实例 &l...
    99+
    2024-04-02
  • CSS中块级格式上下文的示例分析
    这篇文章给大家分享的是有关CSS中块级格式上下文的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.BFC 定义BFC(Block formatting context)...
    99+
    2024-04-02
  • PHP变量串行化存储格式的示例分析
    这篇文章给大家分享的是有关PHP变量串行化存储格式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PHP还是比较常用的,于是我研究了一下PHP变量串行化,在这里拿出来和大家分享一下,希望对大家有用。串行化...
    99+
    2023-06-17
  • Python自动化办公脚本的示例分析
    小编给大家分享一下Python自动化办公脚本的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、自动化阅读网页新闻这个脚本能够实现从网页中抓取文本,然后自...
    99+
    2023-06-29
  • Angular.js组件之input mask对input输入进行格式化的示例分析
    小编给大家分享一下Angular.js组件之input mask对input输入进行格式化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们...
    99+
    2024-04-02
  • Layui数据表格之单元格编辑方式的示例分析
    这篇文章将为大家详细讲解有关Layui数据表格之单元格编辑方式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。开发工具与关键技术:VS、layui数据表格之单元格...
    99+
    2024-04-02
  • Python数据分析之绘图和可视化的示例分析
    小编给大家分享一下Python数据分析之绘图和可视化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言matplotlib是一个用于创建出版质量图表...
    99+
    2023-06-15
  • python中解析json格式文件的方法示例
    前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - Decembe...
    99+
    2022-06-04
    示例 格式文件 方法
  • Python爬虫必备之XPath解析库的示例分析
    小编给大家分享一下Python爬虫必备之XPath解析库的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、简介XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进...
    99+
    2023-06-15
  • Python利器openpyxl之操作excel表格的示例分析
    这篇文章将为大家详细讲解有关Python利器openpyxl之操作excel表格的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python处理数据时,可以将数据保存至excel文件中,此处安利一...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作