你在看别人开源的命令行工具的时候,在支持-h或者-v的时候是不是经常看到下面这样的格式输出,你一定是好奇的,这是如何实现的,那今天就带你一块了解下这块的实现。
figlet是一个可以生成ASCII Art字体工具,在编写一些CLI工具的时候可以作为banner,支持很多字形,对于终端展示十分炫(zhuang)酷(bi)。
其实figlet支持的安装方式很多很多,比如pip, npm, brew等安装方式,今天我们主要来讲解下pip的安装方式,原因是因为安装完不单单可以作为命令行工具使用,还可以在你的Python程序里导入使用。
pip install pyfiglet
brew install figlet
npm install figlet
> pyfiglet -f Banner3 z h u i m a
######## ## ## ## ## #### ## ## ###
## ## ## ## ## ## ### ### ## ##
## ## ## ## ## ## #### #### ## ##
## ######### ## ## ## ## ### ## ## ##
## ## ## ## ## ## ## ## #########
## ## ## ## ## ## ## ## ## ##
######## ## ## ####### #### ## ## ## ##
>
# -*- coding: utf-8 -*-
# __Author__ = "zhuima"
from __future__ import absolute_import, unicode_literals
from pyfiglet import figlet_format
import six
try:
import colorama
colorama.init()
except ImportError:
colorama = None
try:
from termcolor import colored
except ImportError:
colored = None
def log(string, color, font="Banner3", figlet=False):
if colored:
if not figlet:
six.print_(colored(string, color))
else:
six.print_(colored(figlet_format(string, font=font), color))
else:
six.print_(string)
log("\nZ H U I M A", color="blue", figlet=True)
> python test-figlet.py
######## ## ## ## ## #### ## ## ###
## ## ## ## ## ## ### ### ## ##
## ## ## ## ## ## #### #### ## ##
## ######### ## ## ## ## ### ## ## ##
## ## ## ## ## ## ## ## #########
## ## ## ## ## ## ## ## ## ##
######## ## ## ####### #### ## ## ## ##
>
github地址[1]
figlet.org[2]
在线生成[3]
通过上面的简单的示例,这下终于知道酷炫的banner是如何实现的吧,快在你的下一个程序里用起来吧,保证逼格满满,瞬间高大上。
[1]
github地址: https://github.com/pwaller/pyfiglet
[2]
figlet.org: http://www.figlet.org/
[3]
在线生成: http://patorjk.com/software/taag