jmespath终端
jmespath-terminal的Python项目详细描述
杰梅斯帕斯,在你的终点站!
概述
jmespath是一种用于处理json文档的表达式语言。如果你有 以前从没听说过jmespath,你写了一个jmespath表达式,当 应用于输入json文档将生成基于 在你提供的表达式上。
您可以查看JMESPath site了解更多信息。
学习jmespath语言的最好方法之一是进行实验 通过创建自己的jmespath表达式。jmespath终端 使您很容易立即看到jmespath表达式的结果 当你打字的时候。
开始
您可以通过pip安装jmespath终端:
$ pip install jmespath-terminal
然后将有一个jpterm程序可以运行:
$ jpterm
如果未指定参数,则使用示例json文档作为 输入。
还可以指定要使用的初始json文档 通过将json文件指定为位置参数:
$ jpterm /tmp/somejsondoc.json
您还可以将输入json文档导入 jpterm命令:
输出
当^ {Tt1} $程序退出时(通过{TT4} $或^ {TT5}$),^ {TT1}$5 根据输出模式将内容写入stdout。有三个输出 模式:
- 结果-“jmespath result”窗格(右侧)中的任何内容都将 打印到标准输出。
- expression-“jmespath expression”窗格中的内容将打印到 标准输出。 什么也没写——退出时什么都不写。
默认模式是“result”,这意味着默认情况下,无论 当{TT1}$退出时,结果窗格将被打印到StdOUT。你可以换 使用Ctrl-p的输出模式,该模式将在上述三种模式之间循环。 还可以指定启动jpterm命令时使用的模式 使用-m/--output-mode命令行选项。
键盘快捷键
- F5 or Ctrl + c
- 退出程序。
- Ctrl + p
- 输出模式切换。在输出当前结果之间切换,表达式,否则什么都没有。以上“输出”部分将对此进行讨论。
- Ctrl + ]
- 清除当前表达式。
鼠标点击
注意:这些功能依赖于终端支持。(终端应用程序 Mac OS X中包含的不支持此功能,但iTerm2 可以。)
urwid python包的一个特性(jmespath终端构建在这个包上) 就是鼠标点击被识别。这允许您单击以切换焦点 在“输入”或“结果”窗口(当然还有返回表达式)上 滚动它。
这会使选择要复制/粘贴的文本变得困难。许多Linux 终端将允许您选择带有Shift + click/drag和 用Shift + Ctrl + c复制它。在iterm2中,可以使用 Opt/Alt + click/drag。
在jmespath终端上工作
如果您想在jmespath终端上添加新功能, 您可以首先创建并激活一个新的虚拟环境:
$ virtualenv venv $ . venv/bin/activate
然后安装模块:
$ pip install -e .
现在您可以修改jpterm.py模块并查看 运行jpterm命令时反映的更改。
beta状态
在jmespath终端达到版本1.0之前,一些命令行选项 语义可能会改变。将有一个changelog.rst,它将概述任何 每个新版本所发生的更改。