prompt_toolkit是一个用于在Python中构建功能强大的交互式命令行和终端应用程序的库。
它可以是GNU readline的非常高级的纯Python替代品,但它也可以用于构建全屏应用程序。
一些特性:
- 键入时语法高亮显示输入。(例如,使用Pygments词法分析器。)
- 多行输入编辑。
- 高级代码自动完成。
- 选择要复制/粘贴的文本。(Emacs和Vi风格。)
- 鼠标支持光标定位和滚动。
- 自动建议。(像fish shell。)
- 没有global状态。
在我的脚本中主要使用代码自动完成和自动建议功能(从历史记录中查询)。
输入一个命令行参数,然后按ctrl+t会在底部工具栏中显示帮助信息,如下图所示
输入部分testcase名字后,按tab键,即可显示所有以已输入单词开头的testcases,免得还得跑到testcases文件夹下面去找testcase名字。
同时,当已经输入过几条命令,跑完几个case后,可以使用上下箭头浏览历史记录。
另外,如果输入有错误,想重启一行重新输入,可以使用Ctrl+c。退出IPsim_cli程序使用Ctrl+d。