类似junos的python shell库
jsh的Python项目详细描述
JSH是一个受Junos启发的用于Python应用程序的CLI库。 如果您曾经登录过Junos设备,您就会知道CLI有多好。 它提供:
- tab completion,包括完成配置中的项的名称
- 按“帮助”?“在任何时候
- 按空格键、制表键或回车键完成
JSH试图在Python库中重现这些特性(和其他特性) 基于Readline,允许您为应用程序构建质量更好的cli
文件
完整的文档可以在RTD找到。
安装
使用pip install jsh从pypi安装。
基本用法
库采用CLI“layout”,这是一种基于字典的树结构 描述您的CLI命令例如,一个完全无用的cli 只是一个exit命令,您可以这样定义它:
importjshlayout={'exit':jsh.exit,}jsh.run(layout)
jsh.run是以下各项的快捷方式:
cli=jsh.JSH(layout)whileTrue:try:cli.read_and_execute()exceptjsh.JSHErroraserr:printerrexceptEOFError:break
这将使用一个可用的命令(exit)创建一个基本布局,传递 它指向一个实例jsh.JSH,并使用^{tt6}启动一个无限循环$ 与用户交互的JSHCLI对象的方法为了更多的控制 在这个循环中,您应该自己编写,而不是使用jsh.run。
这提供了一个如下所示的cli:
> ? Possible completions: exit > ex? Possible completions: exit > exit ? Possible completions: <[Enter]> Execute this command > exit