在json-fi中嵌入python

2024-10-03 23:29:01 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的应用程序中,我使用json作为主API。它存储一组命令来处理文件。这很好用,除了我需要嵌入python之外。在

我有一个笨拙的解决办法,但正在寻找一个更好的。在

以下是我的方法示例:

{ "file key" :
     { "instruction1" : 
           { "commandList" : [
                {
                    "conditionalPythonBlock" : [
                         "myval = int(dict['count'])",
                         "retval = myval > 0"
                    ]
                }
           ]}
     }
}

我编写了一个例程,将“conditionalPythonBlock”压缩为一个多行字符串,然后可以执行该字符串。多行方法对于正确的缩进是必要的。在

“dict['mycount']”中的“dict”变量是此文件的解析器中的本地上下文。在

retval也是解析器上下文中的一个局部变量。在

有人有更优雅的解决方案吗?在

谢谢!在


Tags: 文件方法字符串命令apijson应用程序解析器
1条回答
网友
1楼 · 发布于 2024-10-03 23:29:01

我认为一个很好的答案是使用YAML而不是JSON。在

PyYaml documentation

上述示例变为:

file key :
   instruction1 : 
       - commands : 
                conditionalPythonBlock : |
                     myval = int(dict['count'])
                     retval = myval > 0

可读性更高,脚本部分可以直接复制进去。在

相关问题 更多 >