文本包装,但精通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附加两个数组   java如何在Extjs的不同页面中使用相同的存储   java Jung,大顶点的布局重叠,图形出现在奇怪的位置   java如何在Android中通过画布绘制圆?   java验证库设计模式选择   java研磨机未知标记“timedTests”   java Android领域子类实例方法   java使用resteasy/jaxrs从请求负载接收两种类型的数据   缓冲策略Java缓冲策略有时不能正确绘制   java跟踪棋子   密度无关像素如何在java中锐化图像缩略图?   java如何在MongoDB更新查询中编写(或)更新   java A*寻路游戏系统退出问题   java在安卓中读取xml的最佳方式是什么?   通过反射调用的方法的java抑制警告   安卓 java。语言错误:信号11(SIGSEGV),代码10(?),故障地址006e006f   java lombok 1.18.2使用DexBuilderForDebug抛出TransformClasses   java JOptionPane CD对话框按钮?   java只返回json中的一些值,而不是完整实体对象   java包不存在错误,请稍后重试