类似junos的python shell库

jsh的Python项目详细描述


Build StatusCode Health BadgeDocumentation StatusVersion BadgeLicense Badge

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android上已连接音频输入设备的java列表   java是创建类的新对象还是使用静态方法?   Java:Shift/Rotate对象数组   Java Casting ArrayIterator<Object>   在java中返回布尔值时出错   无法确定文本文件读入程序(java)中的各种元素   Java Swing JToolBar   JAVAlang.IllegalStateException执行Ghost4J(Linux 32对64位)   jvm如何增加ubuntu系统的java堆化?   java CORS策略“AccessControlAllowOrigin”(Anguar 8和Servlet)   使用dagger 2的java视图依赖项注入   单元测试中RxJava的java模拟活动生命周期   arraylist中的Java打印字符串   java返回值显示为0.0。为什么会这样?   java是clientserver应用程序所必需的MVC吗?   ByteToMessageDecoder类中的java内存泄漏   java将大量文档写入firestore   GWT项目中的java TomcatMaven插件。两者之间的区别是什么:org。科德豪斯。魔咒和组织。阿帕奇。公猫maven插件   java swing:向JTree项添加自定义图形按钮