跳转到主要内容

Python的Junos-like shell库

项目描述

Build Status Code Health Badge Documentation Status Version Badge License Badge

JSH 是一个灵感来自 Junos 的 CLI 库,用于您的 Python 应用程序。如果您曾经登录过 Junos 设备,您就会知道 CLI 是多么出色。它提供

  • 自动补全,包括对配置中项目名称的补全

  • 在任何时刻按下“?”获取帮助

  • 按空格、制表符或回车键进行补全

JSH 尝试在基于 Readline 的 Python 库中重现这些特性(以及其他特性),以便您为应用程序构建更好的 CLI。

文档

完整文档可以在 RTD 上找到。

安装

使用 pip install jsh 从 PyPI 安装。

基本用法

该库接受 CLI “布局”,这是一个基于字典的树状结构,描述您的 CLI 命令。例如,一个完全无用的 CLI,只有一个 exit 命令,您会这样定义它

import jsh

layout = {
    'exit': jsh.exit,
}

jsh.run(layout)

jsh.run 是以下内容的快捷方式

cli = jsh.JSH(layout)

while True:
    try:
        cli.read_and_execute()
    except jsh.JSHError as err:
        print err
    except EOFError:
        break

这创建了一个基本的布局,包含一个可用的命令(退出),并将其传递给一个实例 jsh.JSH,然后启动一个无限循环,使用 JSH CLI 对象的 read_and_execute 方法与用户进行交互。为了更好地控制这个循环,你应该自己编写而不是使用 jsh.run

这提供了一个看起来如下所示的 CLI

> ?
Possible completions:
  exit
> ex?
Possible completions:
  exit
> exit ?
Possible completions:
  <[Enter]>   Execute this command
> exit

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

jsh-0.3.6.tar.gz (10.0 kB 查看散列)

上传时间

构建分发

jsh-0.3.6-py3-none-any.whl (8.1 kB 查看散列)

上传时间 Python 3

jsh-0.3.6-py2-none-any.whl (8.1 kB 查看散列)

上传时间 Python 2

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面