文本包装,但精通ANSI颜色和样式

ansiwrap的Python项目详细描述


travisciPyPI Package latest releaseSupported versionsSupported implementationsWheel packaging supportTest line coverage

ansiwrap像标准的textwrap模块那样包装文本。 但它也正确地包装了包含ANSI控件的文本 使文本着色或设置文本样式的序列。

其中textwrap被那些控制代码的原始字符串长度所愚弄, ansiwrap不是;它知道这些代码对颜色的影响有多大 以及显示样式,它们没有逻辑长度。

api镜像wrapfillshortentextwrap的函数。例如:

from __future__ import print_function
from colors import *     # ansicolors on PyPI
from ansiwrap import *

s = ' '.join([red('this string'),
              blue('is going on a bit long'),
              green('and may need to be'),
              color('shortened a bit', fg='purple')])

print('-- original string --')
print(s)
print('-- now filled --')
print(fill(s, 20))
print('-- now shortened / truncated --')
print(shorten(s, 20, placeholder='...'))

它还导出其他几个功能:

  • ansilen(给出字符串的有效长度,忽略ANSI控制代码)
  • ansi_terminate_lines(通过字符串/行的列表传播控制代码 并终止每一行。)
  • strip_color(从字符串中删除ANSI控制代码)

另请参见所附的demo.py

https://content.screencast.com/users/jonathaneunice/folders/Jing/media/8db64be2-01cc-4da4-b46a-789c53c63b44/00000569.png

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中