python textwrap 模块,这里有你需要的学习资料

news2024/12/23 8:24:11

Python 标准库中的 textwrap 模块可以把长文本按照指定的宽度进行换行。这个模块提供了一些高级的文本处理功能,例如按照指定的宽度进行自动换行,保留段首缩进等。

python textwrap 模块

    • python textwrap 模块主要函数
    • textwrap.wrap(text, width=70, \*\*kwargs)
    • textwrap 模块高级的文本处理功能

python textwrap 模块主要函数

  • textwrap.wrap(text, width=70, **kwargs): 返回一个列表,该列表包含了将文本按照指定宽度进行换行之后的各行文本;
  • textwrap.fill(text, width=70, **kwargs):返回一个字符串,该字符串包含了将文本按照指定宽度进行换行之后的所有文本;
  • textwrap.dedent(text): 去除文本中的缩进;
  • textwrap.indent(text, prefix, predicate=None): 在文本中每一行前面加上前缀。

其中 width 参数默认值是 70。

接下来我们通过一段话进行函数演示。

import textwrap

text = "她长发飘飘,眼如秋水,面容娇嫩,身段优雅,如一朵含苞待放的花儿,让人爱不释手。"

wrapped_text = textwrap.wrap(text, width=20)
print(wrapped_text)

# 输出 ['她长发飘飘,眼如秋水,面容娇嫩,身段优雅', ',如一朵含苞待放的花儿,让人爱不释手。']

filled_text = textwrap.fill(text, width=20)
print(filled_text)
# 输出
# 她长发飘飘,眼如秋水,面容娇嫩,身段优雅
# ,如一朵含苞待放的花儿,让人爱不释手。

可以测试一下代码效果,这里的 width 每一个都等于一个汉字。
python textwrap 模块,这里有你需要的学习资料

textwrap.wrap(text, width=70, **kwargs)

除了必选参数外,还有很多其他参数可以选择,详单如下:

  • expand_tabs:将制表符转换为空格,默认为 False;
  • replace_whitespace: 将文本中的连续空格转换为单个空格,默认为 True;
  • fix_sentence_endings:保留句末标点符号,默认为 False;
  • break_long_words: 是否允许超过宽度限制的单词被断开,默认为 True;
  • initial_indent:段首缩进,默认为空字符串;
  • subsequent_indent: 段首之后的缩进,默认为空字符串。
import textwrap

text = "她长发飘飘,眼如秋水,面容娇嫩,身段优雅,如一朵含苞待放的花儿,让人爱不释手。"
wrapped_text = textwrap.fill(text, width=20, initial_indent='    ')
print(wrapped_text)

输出结果会出现首行缩进效果。

python textwrap 模块,这里有你需要的学习资料

textwrap 模块高级的文本处理功能

textwrap.shorten(text, width, **kwargs)
返回一个字符串,该字符串包含了将文本按照指定宽度进行换行之后的部分文本。

由于上述两个函数都会按照单词进行文本截取,所以对中文适配效果不好,如果希望处理中文,建议使用 jiebathulac 等分词工具对中文文本进行分词。

示例代码如下所示:

import textwrap

text = "Her long hair is fluttering, her eyes are like autumn water, her face is delicate, and her figure is elegant, like a flower in bud, which makes people love her."

shortened_text = textwrap.shorten(text, width=50, placeholder='...')
print(shortened_text)

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 836 篇原创博客

从订购之日起,案例 5 年内保证更新

  • ⭐️ Python 爬虫 120,点击订购 ⭐️
  • ⭐️ 爬虫 100 例教程,点击订购 ⭐️

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/168839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ruoyi-vue版本(四)@PreAuthorize 注解在若依里面的作用,springsecurity 框架相关的配置

目录1 需求2 实现2.1 背景2.2 实现2.3 springsecurity 框架相关的配置2.3.1 EnableGlobalMethodSecurity详解2.3.2 认证失败处理类AuthenticationEntryPointImpl2.3.3 自定义退出处理类LogoutSuccessHandlerImpl2.3.4 filter 为啥会多次执行3 PreAuthorize 注解1 需求 我们打开…

Flink面试题汇总

1,简单介绍一下 Flink Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。并且 Flink 提供了数据分布、容错机制以及资源管理等核心功能。Flink提供了诸多高抽象层的API以便用户编写分布式任务: DataSet API&#xf…

nacos多网卡服务器引发的问题

1、背景 某一日晚上,公司的一个微服务上线重启后,双节点,只有一个节点注册到了nacos服务器,另外一个节点一直在nacos界面上无法看到,两个节点的服务启动也没有报错,api网关转发给服务时,时不时有…

深度学习入门基础——卷积计算

卷积计算 卷积是数学分析中的一种积分变换的方法,在图像处理中采用的是卷积的离散形式。这里需要说明的是,在卷积神经网络中,卷积层的实现方式实际上是数学中定义的互相关 (cross-correlation)运算,与数学…

【进阶】数据在内存中的存储

目录 一、数据类型介绍 1、基本的内置类型 2、类型的基本归类 二、整型在内存中的存储 1、原码、反码、补码 2、大小端介绍 3、大端小端的经典例题 三、浮点数在内存中的存储 1、浮点数存储规则 2、浮点数存储例题 一、数据类型介绍 1、基本的内置类型 char /…

非标设备制造业项目管理软件如何帮助企业做好项目报价管理?

非标设备制造企业,由于需求的不确定性、方案的多样性、交期的紧迫性、以及批量小(很多需要先做单台样机)等特性,导致非标设备要在有限时间内做到准确报价存在一定的困难,这也是众多非标设备制造企业亟待解决的问题。报…

MySQL Shell 逻辑备份恢复API

MySQL8.0开始提供的MySQL Shell功能,是DBA推向了另一个高度,除SQL外,正式踏入Cloud数据库服务 和 shell操作数据库领域(MGR是一个代表点)。 日常DBA工作可以通过MySQL Shell更容易实现。因为MySQL Shell处理用JavaScr…

3、Ubuntu20Server安装远程连接

Ubuntu20Server安装 安装虚拟机virtualbox VMware Workstation Pro 下载Ubuntu安装光驱Get Ubuntu | Download | Ubuntu 都下载完毕准备安装驱动 配置信息 这里用的是Ubuntu Server 一路Done或回车过三关斩六将来到这里 安装到这里,需要修改镜像站点地址,修改为国内的163网易…

Linux文件系统及磁盘命名

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例分…

Golang 调整视频fps和分辨率 | Golang工具

目录 前言 环境依赖 代码 总结 前言 本文提供将视频修改fps和分辨率的工具方法,一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博…

Vector - VT System - 模拟IO板卡_VT2816

前面介绍了模拟量的输入板卡VT2004,今天我们介绍的这个板卡依然是模拟量的输入,具体使用场景可能要我们根据实际的使用场景去进行选择。VT2004更偏向于激励,而VT2816更偏向于通用模拟量的IO使用,下面我们从功能、参数、硬件结构等…

SpringBoot接入JaCoCo实践代码覆盖率

这里写自定义目录标题参考概述接入静态接入和动态接入参考 SpringBoot接入JaCoCo实践 概述 JaCoCo是面向Java的开源代码覆盖率工具,JaCoCo以Java代理模式运行,它负责在运行测试时检测字节码。 JaCoCo会深入研究每个指令,并显示每个测试过程…

【uniapp】关于webview组件无法自定义宽高问题解决

最近做的项目中,在h5环境运行上遇到关于webview组件无法自定义宽高问题,要怎么弄才好呢,其实没那么难,很简单的,现在将解决方法讲一下。 使用例子 默认是全屏加载的,现在需要内嵌一个webview组件放在限定…

10款最佳在线地图软件介绍

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。 在线地图有无数的用途&…

3D模型轻量化处理教程【Blender】

在本文中,我们将介绍三种在 Blender 中网格轻量化的方法,并以一些提示和技巧作为结尾,供你在处理网格和对象时使用。 1、网格轻量化概述 无论你是想创建简单还是复杂的 3D 设计,Blender 都是拟工具箱中的一个很棒的程序。 它是…

Nessus 高级扫描

系列文章 Nessus介绍与安装 Nessus Host Discovery Nessus高级扫描 1.启动nessus cd nessus sh qd_nessus.sh2.进入nessus网站,点击【new Scan】 https://kaliip:8834/3.选择【adVanced Scan】 4.输入Name【高级扫描】,Description【高级扫描】&…

深度学习基础——填充(padding)与步幅(stride)

填充(padding) 在上图中,输入图片尺寸为333\times333,输出图片尺寸为222\times222,经过一次卷积之后,图片尺寸为222\times222,经过一次卷积之后,图片尺寸变小。卷积输出特征图的尺寸…

SQLServer 2016 备份

1、下载并安装SQLServer2016服务器端, 下载地址:https://www.microsoft.com/zh-cn/evalcenter/download-sql-server-2016 2、下载并安装SSMS管理工具, 下载地址:https://download.microsoft.com/download/8/a/8/8a8073d2-2e00-…

渗透学习-CTF篇-web-BUUCTF

文章目录前言一、[WesternCTF2018]shrine前言 随着学习的不断深入,为了防止自己忘记之前所学的内容,于是我决定再不断的向下学习的同时做一些ctf的题来唤醒自己的记忆!! 一、[WesternCTF2018]shrine 这一关主要是SSTI的内容&…

Docker安装部署sql审计平台Archery1.9.1版本

安装dockercurl -fsSL https://get.docker.com -o get-docker.sh | sudo sh安装docker composesudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod x…