带有JSONPath集成的pythonnative fxlike终端JSON查看器。

python-fx的Python项目详细描述


pyfx公司

Build StatusDocumentation StatusPyPI versionGitHub Pipenv locked Python versionGitHub

fx的启发,JSON Viewer TUI的python实现。在

安装

使用pip

在使用pip之前,请检查Python版本,pyfx要求>;=3.8。在

pip install python-fx

源代码构建

克隆thisrepo,将目录更改为项目并运行

^{pr2}$

使用

CLI

pyfx附带了一个CLI,您可以使用它直接打开JSON文件。在

  • 您可以使用它打开一个JSON文件
     pyfx JSON_FILE
    
  • 您还可以使用它从管道中打开JSON数据
     cat JSON_FILE | pyfx
    

作为模块导入

导入pyfx简单TUI

您可以直接将pyfx的TUI集成到您自己的项目中。
人们会认为这是CLI应用程序的最后一步。方法Controller#run_with_data包含一个无限循环MainLoop,以呈现图像直到退出(按q)。在

frompyfximportController...# data is the what you want to render as TUI# only supports dict, list and primitive variableController().run_with_data(data)

导入pyfx的本机JSON库并与您自己的TUI集成

您还可以导入pyfx原生JSON库,将其集成到您自己的urwidtui中,例如json_browser.py。在

frompyfx.view.json_libimportJSONListBox,JSONListWalker,NodeFactory...# create top node from the data (only supports dict, list and primitive variable)top_node=NodeFactory.create_node("",data,display_key=False)# create JSONListBox from top node, a urwid ListBox compatible widget (http://urwid.org/reference/widget.html#listbox)listbox=JSONListBox(JSONListWalker(top_node))# use listbox in your own TUI ...

配置

pyfx可以使用YAML配置,配置文件可以直接通过CLI选项传递,也可以自动传递 在预定义的配置文件夹中加载。在

如果在没有-c / --config选项的情况下调用pyfx,它将按以下顺序搜索配置文件:

  1. ~/.config/pyfx/配置yml在
  2. PYTHON_DIR/site packages/pyfx/config/配置yml在

预定义键映射

使用以下配置架构配置密钥映射

keymap:
  mode: string, accepted_options = ["basic" (The default) | "emacs" | "vim"]

基本模式

KeyFunction
qexit pyfx (except in Query Bar)
JSON Browser
upmove cursor up one line
downmove cursor down one line
entertoggle expansion
.enter query window (used to input JSONPath query)
Query Bar
enterapply JSONPath query and switch to JSON Browser
esccancel query and restore to state before query

Emacs模式

要启用,请在配置文件中添加以下配置:

keymap:mode:"emacs"
映射键
^{tb2}$

Vim模式

要启用,请在配置文件中添加以下配置:

keymap:mode:"vim"
映射键
KeyFunction
qexit pyfx (except in Query Bar)
JSON Browser
up / kmove cursor up one line
down / jmove cursor down one line
entertoggle expansion
. / :enter query window (used to input JSONPath query)
Query Bar
enterapply JSONPath query and switch to JSON Browser
esccancel query and restore to state before query

完整的文档

请访问Documentation

许可证

请访问LICENSE

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

推荐PyPI第三方库


热门话题
java如何从ImageIO中排除特定的TIFF读取器?   JavaJMockit和passbyreference。我们中一定有一个人错了(可能是我!)   java Android camera2放弃了牛轧糖的表面,但在棉花糖上工作   java按字符串中出现的顺序对字符数组进行排序   如何获取Groovy生成的java源代码   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java为什么我的冒泡排序代码会打印出这些奇怪的东西?   java JAXB:typesafeEnumMemberName=“generateName”是否可自定义?   Java编程输入:今天是星期天输出:星期天是今天   java不理解首个OOAD书的吉他示例   java如何从JformattedTextfield检索货币格式值   java可以从相同的源代码生成功能不同的可执行文件吗?