让python的print变得更好看——prettytable和colorama

举报
开飞机的大象 发表于 2018/12/07 14:57:14 2018/12/07
【摘要】 python在输出信息的时候,通常会使用print,有没有方法可以美化一下输出的格式呢?

python在输出信息的时候,通常会使用print,有没有方法可以美化一下输出的格式呢?

1a.jpg

这里介绍两个包:

  • prettytable

  • colorama

这两个包都不是Python的标准库,因此在使用之前,需要安装它们。

pip install prettytable colorama

prettytable

prettytable可以发方便地对print的内容进行格式化的表格输出。

例如:

from prettytable import PrettyTable

table = PrettyTable(["name", "score"])
table.add_row(["Bob", 67])
table.add_row(["grizzly", 45])
table.add_row(["Tom of Caerbannog", 78])
table.add_row(["cat", 34])
table.add_row(["Tony", 39])
table.add_row(["dolphin", 45])
table.add_row(["albatross", 24])
table.sort_key("name")
table.reversesort = True

print(table)

image.png

输出的内容

colorama

Python的Colorama模块,可以跨多终端,显示字体不同的颜色和背景,常用的参数有以下几个:

  • 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


下面我们来看一下这些参数是怎么使用的吧!

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!!")

image-1.png

输出结果

colorama详细的使用技巧,可以查看https://github.com/tartley/colorama,这个看起来花里胡哨的工具有啥用呢?我想到了主要有下面两个直接的用途:

  • 可以结合python异常处理机制,将错误信息用不同颜色打印

  • 大量格式化信息打印的时候,可以结合prettytable输出很棒的表格

你总是能在众多的包中找到自己想要的,而且使用起来也非常简单,也许这就是Python这么流行的原因之一吧!

xx.jpg

====================================================================

本文发表在李思原博客“机器在学习”

原文链接:http://www.siyuanblog.com/?p=1606

欢迎扫码关注我的微信公众号:聚数为塔

qrcode_for_gh_b8391fc7ce11_430.jpg

=====================================================================


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。