如何构建优秀的命令行用户界面的 Python 库

本文是关于构建优秀命令行界面的Python库的教程,介绍了如何使用Prompt Toolkit创建REPL,实现命令历史、自动补全和Fuzzy Finder功能。同时,讲解了Click库的分页器和编辑器支持,以及Pygments库用于SQL REPL的语法高亮。
摘要由CSDN通过智能技术生成

在这个分为两篇的关于具有绝佳命令行界面的终端程序的系列文章的第二篇教程中,我们将讨论 Prompt、Toolkit、Click、Pygments 和 Fuzzy Finder 。
如何构建优秀的命令行用户界面的 Python 库如何构建优秀的命令行用户界面的 Python 库

这是我的一个分为两篇的关于具有绝佳命令行界面的终端程序的系列文章的第二篇教程。在第一篇文章中,我们讨论了一些能够使命令行应用用起来令人感到愉悦的特性。在第二篇文章中,我们来看看如何用 Python 的一些库来实现这些特性。

我打算用少于 20 行 Python 代码来实现。让我们开始吧。

Python Prompt Toolkit

我习惯于把这个库称为命令行应用的瑞士军刀,它可以作为readline、curses等的替代品。让我们首先安装这个库,然后开始该教程:

pip install prompt_toolkit

我们以一个简单的 REPL (LCTT 译注:REPL —— Read-Eval-Print Loop,交互式开发环境)开始。一个典型的 REPL 会接收用户的输入,进行一个操作,然后输出结果。比如在我们的例子中,我们将要实现一个具有 “回显” 功能的 REPL 。它仅仅是原样打印出用户的输入:

REPL
from prompt_toolkit import prompt

while 1:
    user_input = prompt('>')
    print(user_input)

这就是实现 REPL 的全部代码。它可以读取用户的输入,然后打印出用户的输入内容。在这段代码中使用的prompt函数来自 prompt_toolkit库,它是readline库的一个替代品。

命令历史

为了增强我们的 REPL 的功能,我们可以添加命令历史:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值