Python Prompt Toolkit:构建强大交互式命令行的 Python 工具库
prompt_toolkit
是一个用于构建强大交互式命令行的 Python 工具库。
你是不是在找交互式的 Python shell 工具 ptpython
呢?我们把 ptpython
的源码转移到了一个独立的仓库。如此一来,我们确信 prompt_toolkit
库不会被其他 ptpython
东西“污染”,并且 ptpython
也可以独立开发。现在必须用下面这个命令安装 ptpython
:
pip install ptpython
prompt-toolkit 的特性features
prompt_toolkit
可用作 GNU readline 的替代品,但其实比后者还好得多。
部分特性:
-
纯 Python;
-
输入时支持语法高亮;(有 Pygments 词法分析器)
-
支持多行输入编辑;
-
高级代码补全;
-
支持 Emacs 和 Vi 热键绑定;(和 readline 类似)
-
支持反向和正向的增量搜索;
-
支持 Python 2.6 到 3.4 之间的版本;
-
支持 Unicode 双宽字符;(比如:中文输入)
-
选择文本复制/粘贴 (Both Emacs and Vi style.)
-
多输入缓存
-
轻量级,只依赖于 Pygments、six 和 wcwidth;
-
Code written with love.
-
支持 Linux、OS X、OpenBSD 和 Windows 系统;
安装
pip install prompt-toolkit
getting started
先来个简单的示例:
from prompt_toolkit.shortcuts import get_input
if __name__ == '__main__':
answer = get_input('Give me some input: ')
print('You said: %s' % answer)
复杂的示例,查看 examples
目录吧。所选示例都是直杆一件事的。不要怕看源码哦。 get_input
函数的实现,是个不错的开始。
注意:在 Python 2 下,你需要往上述例子添加 from __future__ import unicode_literals
。所有字符会看作是 unicode 字符。
使用 prompt-toolkit 的开源项目
-
ptpython: Python REPL
-
ptpdb: Python 调试器 (pdb 替代品)
-
pgcli: Postgres 客户端.
-
mycli: MySql 客户端.
-
pyvim: 纯 Python 实现的 Vim 克隆版
-
wharfee: Docker 命令行工具
- 新智云官网 www.enncloud.cn