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

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

这里介绍两个包:

  • 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)

输出的内容

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

输出结果

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

  • 可以结合python异常处理机制,将错误信息用不同颜色打印
  • 大量格式化信息打印的时候,可以结合prettytable输出很棒的表格

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

The End


已发布

分类

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注