python 光标位置输入文字_colorama-用于生成彩色的终端文本和光标定位的python库.tar...

colorama是一个Python库,它允许在不同平台上生成彩色的终端文本和进行光标定位。它在Windows上通过转换ANSI转义序列来实现这一功能,而在其他平台则保持不变。只需调用`colorama.init()`,即可启用跨平台的彩色输出。此外,colorama还支持光标定位和与其他ANSI库如Termcolor和Blessings的集成。
摘要由CSDN通过智能技术生成

colorama是用于生成彩色的终端文本和光标定位的python库。

71257933_202012191517460144709235.gif

介绍

ANSI转义字符序列长期以来一直用于在Unix和Mac上产生彩色的终端文本和光标定位。Colorama也通过包装stdout,剥离其找到的ANSI序列(将在输出中显示为gobbledygook)并将其转换为适当的win32调用来修改终端的状态,从而在Windows上实现了这一功能。在其他平台上,Colorama不执行任何操作。

这样做的目的是提供一个简单的跨平台API,以从Python打印彩色终端文本,并且具有令人欣喜的副作用,即使用ANSI序列在Linux或Mac上生成彩色输出的现有应用程序或库现在也可以在Windows上运行,只需调用 colorama.init()即可。

一种替代方法是在Windows计算机上安装ansi.sys,这为在终端中运行的所有应用程序提供了相同的行为。Colorama适用于不容易的情况(例如,您的应用程序没有安装程序。)

源代码存储库中的演示脚本使用ANSI序列打印一些彩色文本。比较它们在Gnome终端内置的ANSI处理下的输出与使用Colorama的Windows命令提示符下的输出:

71257933_202012191517020253902443.png

在gnome-terminal下的Ubuntu上的ANSI序列。 使用Colorama在Windows上具有相同的ANSI序列。

这些屏幕快照显示,在Windows上,Colorama不支持ANSI“暗淡的文本”。它看起来与“普通文本”相同。

获取

使用pip安装:pip install colorama,或者下载colorama的源代码手动安装。

用法

初始化

应用程序应使用以下方法初始化Colorama:from colorama import init

init()

在Windows上,调用init()会从发送到stdout或stderr的所有文本中过滤出ANSI转义序列,并用等效的Win32调用替换它们。

在其他平台上,调用init()无效(除非您请求其他可选功能;请参见下面的“ Init Keyword Args”)。通过设计,这允许应用程序在所有平台上无条件调用init(),此后ANSI输出应该可以正常工作。

要在程序退出之前停止使用Colorama,只需调用deinit()即可。这会将stdout和stderr恢复为原始值,从而禁用Colorama。要再次使用Colorama,请调用reinit();它比再次调用init()便宜(但做同样的事情)。

彩色输出

然后可以使用Colorama的ANSI转义序列的常量速记来进行彩色文本的跨平台打印:

71257933_202012191514410831737575.jpg

或仅通过从您自己的代码中手动打印ANSI序列即可:print('\033[31m' + 'some red text')

print('\033[39m') # and reset to default color

…或者,Colorama可以与现有的ANSI库一起使用,例如古老的Termcolor 或神话般的Blessings。强烈建议将其用于琐碎的着色之外的所有操作:

71257933_202012191515560675592446.jpg

可用的格式常量为:

71257933_202012191515560722300428.jpg

Style.RESET_ALL重设前景,背景和亮度。Colorama将在程序退出时自动执行此重置。

光标定位

支持用于重新定位光标的ANSI代码。有关如何生成它们的示例,请参见源文件里面的demos/demo06.py。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值