首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找有关python中着色/突出显示输出文本的信息

查找有关python中着色/突出显示输出文本的信息
EN

Software Engineering用户
提问于 2017-12-23 19:50:19
回答 2查看 4.9K关注 0票数 -5

我正在编写的python程序中的第一个模块是一本日志。

我已经习惯了使用打印函数,但是对于这个项目,如果我能区分一些文本输出和其他文本输出,那就太好了。例如,下面是程序的文本输出示例:

November_29_2017 Log_1 11/29/17-完成家庭作业Log_2 11/29/17-做了30分钟的卡迪奥

在这个示例中,November_29_2017是一个印刷的字典标签。我想要做的是把输出用不同的颜色,而不是标准的输出颜色,这样我就可以在我的日记中把它区分为标签或标题。

我不知道这项任务的确切规模,但如果我至少能得到一些研究资料,我会非常乐意和感激地完成这一任务。谢谢!

UPDATE:12/24/2017

最近,我使用了ANSI转义代码来获取打印出的颜色,但是这个方法对我来说是有限的,因为它似乎只适用于字符串文本,而不是像list和字典这样的可打印对象。例如,下面是一个ANSI转义代码,用于为字符串文字着色:

打印‘\033’[1;34m蓝色似血\033[1;m‘]

输出将是字符串“蓝色如血”的蓝色。但是,如果我有一份清单:

L=“蓝色像血”,“橘子香蕉和红色猴子”

现在,将列表对象中的所有文本直接键入并传递到函数中是很费时的,更好的方法是使用list对象的索引(如果它是dict对象,则键)将列表对象传递到函数中。

我仍然是Python的新手,但我相信我知道的足够多了,简单地尝试在转义代码之间执行一个列表或不调用是行不通的(我试过了)。

我认为我需要的是print()方法,它可以自动对传递给函数的任何对象的文本着色,就像我说的,我是菜鸟,但我相信它看起来会是这样的:

print.add_color(L0)

比如:映射,“创建可调用的对象”,类等等,我还没有得到but...well,我真的不知道,但我觉得我已经接近了。请,仍在寻找信息,并感谢已提供投入的人。

EN

回答 2

Software Engineering用户

发布于 2018-01-03 09:40:37

最近,我使用了ANSI转义代码来获取打印出的颜色,但是这个方法对我来说是有限的,因为它似乎只适用于字符串文本,而不是像list和字典这样的可打印对象。

您给出的注释表明您只是语法错误。尝试像这样的函数:

代码语言:javascript
复制
def blueprint(x):
    print('\033[34m' + str(x) + '\033[0m')

( print的括号在Python3中是必需的,在Python2中是可选的)。

将此应用于您的示例

代码语言:javascript
复制
 L=["Blue like Blood","Orange bananas and red monkeys."]
 blueprint(L)

应该做到这一点,您实际上可以将所有内容传递到该函数中,该函数可以通过str转换为字符串。

注意,这将只在支持ANSI颜色代码的终端窗口中工作。在Linux或Mac下,这不应该是一个问题,在Windows 10环境中也是如此,对于早期的Windows版本,Colorama模块(感谢@tale852150提供链接)应该以独立于平台的方式解决这个问题。

至于你最初的问题:创建一个只有在ANSI终端打印时才能正确显示的日志是IMHO的一种非常有限的方法。如果您尝试将日志保存到文件中,然后在文本编辑器中打开它,则只会看到转义序列,而不会看到任何颜色。今天做这些事情的一个更标准的方法是使用HTML,将日志写到HTML文件中,并使用web浏览器显示它。这样,您可以使用标签标记标题,并使用级联样式表将其格式化为您喜欢的任何颜色。

票数 2
EN

Software Engineering用户

发布于 2018-01-01 11:36:22

试试这个吧,彩霞。这可能是您正在寻找的,它可以在Windows上工作。

下面是一些示例代码:

代码语言:javascript
复制
from colorama import Fore, Back, Style
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

下面是一个具有列表的示例:

若要在RHEL上安装colorama:

代码语言:javascript
复制
pip install colorama

这里的例子也是如此:

用Python打印到终端的颜色

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/362915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档