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 命令行工具