Python Prompt Toolkit:构建强大交互式命令行的 Python 工具库python
prompt_toolkit
是一个用于构建强大交互式命令行的 Python 工具库。shell
你是否是在找交互式的 Python shell 工具 ptpython
呢?咱们把 ptpython
的源码转移到了一个独立的仓库。如此一来,咱们确信 prompt_toolkit
库不会被其余 ptpython
东西“污染”,而且 ptpython
也能够独立开发。如今必须用下面这个命令安装 ptpython
:vim
pip install ptpython缓存
prompt-toolkit 的特性features
函数
prompt_toolkit
可用做 GNU readline 的替代品,但其实比后者还好得多。工具
部分特性:ui
纯 Python;spa
输入时支持语法高亮;(有 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 字符。
ptpython: Python REPL
ptpdb: Python 调试器 (pdb 替代品)
pgcli: Postgres 客户端.
mycli: MySql 客户端.
pyvim: 纯 Python 实现的 Vim 克隆版
wharfee: Docker 命令行工具