在我的应用程序中,我使用json作为主要API。它存储一组用于处理文件的命令。这很有效,除了我的部分要求是我需要嵌入python。
我有一个笨重的解决方案,但我正在寻找一个更好的解决方案。
以下是我的方法示例:
{ "file key" :
{ "instruction1" :
{ "commandList" : [
{
"conditionalPythonBlock" : [
"myval = int(dict['count'])",
"retval = myval > 0"
]
}
]}
}
}
我编写了一个例程,将“conditionalPythonBlock”折叠成一个多行字符串,然后可以执行该字符串。多线方法对于正确的缩进是必要的。
'dict ['mycount']'中的'dict'变量是此文件解析器中的本地上下文。
retval也是解析器上下文中的局部变量。
任何人都有更优雅的解决方案吗?
谢谢!
答案 0 :(得分:0)
我认为这里的一个很好的答案是使用YAML而不是JSON。
上面的示例变为:
file key :
instruction1 :
- commands :
conditionalPythonBlock : |
myval = int(dict['count'])
retval = myval > 0
更具可读性,脚本部分可以直接复制到其中。