Please enable Javascript to view the contents

命令行 Banner 生成工具 - pyfiglet

 ·  ☕ 2 分钟

1. 什么是 pyfiglet

pyfiglet 是一个用 Python 实现的 ASCII 艺术字生成工具。可以根据字符生成如下图形:

1
2
3
4
5
6
 _          _ _                             _     _ _
| |__   ___| | | ___    __      _____  _ __| | __| | |
| '_ \ / _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |
| | | |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|
|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)
                    |/

在编写 CLI 工具时,可以用 pyfiglet 生成 Banner 展示在命令行。

2. 安装

在 Python 环境下,使用 pip 安装:

1
pip install pyfiglet

3. 演示使用

先查看一下帮助文档:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
pyfiglet --help

Usage: pyfiglet [options] [text..]

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -f FONT, --font=FONT  font to render with (default: standard)
  -D DIRECTION, --direction=DIRECTION
                        set direction text will be formatted in (default:
                        auto)
  -j SIDE, --justify=SIDE
                        set justification, defaults to print direction
  -w COLS, --width=COLS
                        set terminal width for wrapping/justification
                        (default: 80)
  -r, --reverse         shows mirror image of output text
  -F, --flip            flips rendered output text over
  -l, --list_fonts      show installed fonts list
  -i, --info_font       show font's information, use with -f FONT
  -L LOAD, --load=LOAD  load and install the specified font definition
  -c COLOR, --color=COLOR
                        prints text with passed foreground color,
                        --color=foreground:background
                        --color=:background                  # only background
                        --color=foreground | foreground:     # only foreground
                        --color=list                         # list all colors
                        COLOR = list[COLOR] | [0-255];[0-255];[0-255] (RGB)

下面直接试试这些参数:

  • 默认参数
1
2
3
4
5
6
7
pyfiglet Kube

 _  __     _
| |/ /   _| |__   ___
| ' / | | | '_ \ / _ \
| . \ |_| | |_) |  __/
|_|\_\__,_|_.__/ \___|
  • 居中对齐
1
2
3
4
5
6
pyfiglet Kube -j center
                              _  __     _
                             | |/ /   _| |__   ___
                             | ' / | | | '_ \ / _ \
                             | . \ |_| | |_) |  __/
                             |_|\_\__,_|_.__/ \___|
  • 指定字体

字体可以在 http://www.figlet.org/fontdb.cgi 查找。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
pyfiglet -f isometric3 Kube

      ___           ___                         ___
     /__/|         /__/\         _____         /  /\
    |  |:|         \  \:\       /  /::\       /  /:/_
    |  |:|          \  \:\     /  /:/\:\     /  /:/ /\
  __|  |:|      ___  \  \:\   /  /:/~/::\   /  /:/ /:/_
 /__/\_|:|____ /__/\  \__\:\ /__/:/ /:/\:| /__/:/ /:/ /\
 \  \:\/:::::/ \  \:\ /  /:/ \  \:\/:/~/:/ \  \:\/:/ /:/
  \  \::/~~~~   \  \:\  /:/   \  \::/ /:/   \  \::/ /:/
   \  \:\        \  \:\/:/     \  \:\/:/     \  \:\/:/
    \  \:\        \  \::/       \  \::/       \  \::/
     \__\/         \__\/         \__\/         \__\/
  • 设置颜色
1
pyfiglet -f isometric3 -c BLUE  Kube

1
pyfiglet -f isometric3 -c RED  Kube

除此,还可以通过 from pyfiglet import Figlet 的方式,在 Python 代码中渲染字体。


微信公众号
作者
微信公众号