文档章节

[python] colorama 模块 - 改变控制台输出文本的颜色

cometeme
 cometeme
发布于 09/21 21:23
字数 725
阅读 7
收藏 2

除了使用 PyQt 这样的图形化开发框架外,基本上 python 程序都是跑在控制台中的。很多时候,单纯使用黑白的文字不能很好地突出我们要显示的信息。有时候我们需要将错误的提示使用红色标注,而将成功的提示设置为绿色。这时候,基础的控制台显示操作就不能很好地满足我们了。虽然我们可以使用 ANSI 来标注输出字体的颜色,但是这样需要记忆它的格式,不是特别方便。

这个时候,我们就可以通过 colorama 这个第三方模块,用简单的语法实现字体颜色的控制。接下来就来看看它有多神奇。

1. 安装 colorama 模块

$ pip install colorama

如果你使用 Anaconda 这样的环境,它就会预装 colorama 模块。但是如果使用的是 miniconda ,这个时候就需要安装一下:

$ conda install colorama

2. 使用 colorama 模块

在使用 colorama 的字体颜色模式之前,需要先使用 init() 函数进行初始化。以下就是一个简单的实例:

from colorama import init, Fore, Back, Style
init()
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.BRIGHT + 'and in bright text')
print(Style.RESET_ALL)
print('back to normal now')

其中, init() 函数可以传入一个参数: autoreset 。默认值为 False ,如果设置为 True ,它就会在每一次输出语句之后自动清空格式。

from colorama import init, Fore, Back, Style
init(autoreset=True)
print(Fore.BLUE + 'some blue text')
print(Back.CYAN + 'cyan background')
print(Style.DIM + 'in dim text')
print('auto set to normal now')

Fore, Back, Style 这三个类型,分别可以设置显示字体的显示风格。它需要连接到待输出字符串的前面。其中 Fore 是前景色(字体颜色), Back 是背景色, Style 可以改变字体的显示模式,同时也可以清空字体风格。这三个属性可以设置的参数如下:

  • Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.

  • Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.

  • Style: DIM, NORMAL, BRIGHT, RESET_ALL

结语与其他文档

只需要通过几个参数,就可以用 colorama 模块进行简单的颜色控制了。其实如同 Fore.RED 这样的模式只是保存了一个 ANSI 的编码。官方文档中就有比较详细的解释: colorama-PyPI。如果想要更深层次地自定义,其实也可以自己将 ANSI 进行一定的封装来使用更多的颜色。

© 著作权归作者所有

共有 人打赏支持
cometeme
粉丝 6
博文 19
码字总数 21462
作品 0
杭州
程序员
学Python需要天赋吗?看完弟弟编写的爬虫与爆破脚本,只有汗水!

Python学习记录脚本,希望弟弟通过练习编写脚本一点点提升自己很菜的编程水平~~明天会更好,希望自己越来越强吧。 实现原理 Python3 实现批量查询网站的百度权重以及收录情况,利用的是站长之...

Python新世界
07/24
0
0
命令行神器 Click 简明笔记

Click Click 是用 Python 写的一个第三方模块,用于快速创建命令行。我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行,但使用起来有些繁琐,Click 相比于 Argparse,就好比 re...

funhacks
2017/11/29
0
0
你可能没听过的11个Python库

目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们。单单PyPi上就有超过47000个包列表。现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit-learn,numpy...

Yamazaki
2015/01/29
0
0
《Python从小白到大牛》第3章 第一个Python程序

本章以HelloWorld作为切入点,介绍如何编写和运行Python程序代码。 运行Python程序主要有两种方式: 1.交互式方式运行 2.文件方式运行 本章介绍这两种运行方式实现HelloWorld程序。 使用P...

tony关东升
06/26
0
0
Python_017 GUI编程

GUI编程(Tkinter) python提供了多个图形开发界面的库,几个常用Python GUI库如下: Tkinter: Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下...

g00m
2015/02/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

hive分桶

hive为啥分桶? 更加细粒度的划分数据,既可以使用分桶技术实现。 作用 对数据进行抽样查询,较为高效。 可以使查询效率提高。 hive分桶技术 分桶字段是表内字段,默认是对分桶的字段进行has...

Mr_yul
14分钟前
0
0
SQL中的case when then else end用法

Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex...

牛奋Debug
33分钟前
0
0
log4j2发送消息至Kafka

title: 自定义log4j2发送日志到Kafka tags: log4j2,kafka 为了给公司的大数据平台提供各项目组的日志,而又使各项目组在改动上无感知。做了一番调研后才发现log4j2默认有支持将日志发送到kaf...

微笑向暖wx
42分钟前
1
0
LINUX中如何查看某个端口是否被占用(转发)

LINUX中如何查看某个端口是否被占用 之前查询端口是否被占用一直搞不明白,问了好多人,终于搞懂了,现在总结下: 1.netstat -anp |grep 端口号 如下,我以3306为例,netstat -anp |grep 33...

覃大光
今天
1
0
JBolt 1.5.0新版发布,升级到支持最新版JFinal和Jetty,实现了在线更新插件功能

JBolt是一个JFinal极速开发框架 定制版IDE插件 目前仅有Eclipse插件版,Idea插件版正在开发中。 JBolt的详细使用教程请移步到这里 =====版本1.5.0 更新内容 2018年10月13日10:41:52===== 注意...

山东-小木
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部