gpt4 book ai didi

python解析: what file format uses `=>` OR how to read custom input files to dict

转载 作者:行者123 更新时间:2023-12-01 08:41:55 25 4
gpt4 key购买 nike

使用 here 中的 zmdp 求解器时我遇到了一种以前从未见过的时髦文件格式,它使用 => 进行分配。我无法从包文档中找出它是什么格式(它说它是一种“策略”格式,但它必须基于更通用的东西)

{
policyType => "MaxPlanesLowerBound",
numPlanes => 7,
planes => [
{
action => 2,
numEntries => 3,
entries => [
0, 18.7429,
1, 18.7426,
2, 21.743
]
},
### more entries ###
{
action => 3,
numEntries => 3,
entries => [
0, 20.8262,
1, 20.8261,
2, 20.8259
]
}
]
}

我研究了很多关于解析此类文件的直接方法(在 Python 中)的方法,并且还阅读了 this blog post它有各种各样的词法分析和解析选项(对于我的示例来说最有前途的工具似乎是 parsimoniousparsy )。
然而,无论我能想到什么解决方案,都感觉像是我在重新发明轮子,而词法分析和解析似乎对我想做的事情来说是一种矫枉过正。
我还找到了this stackoverflow 问题似乎也与使用 => 的格式有关。然而,由于在代码方面比较懒惰和简约,我不太喜欢正则表达式解决方案。我的直觉告诉我,必须有一个 3-4 行的解决方案将输入文件写入 python 字典或类似有用的格式。特别是,我怀疑这已经是我不知道的某种格式的标准语法(显然不是 csv、json、yaml 或 xml)

因此,问题是:以上是标准文件格式吗?如果是,它是什么?
如果没有,我如何在 Python3 中优雅而紧凑地解析这个文件,即无需对每个关键字进行正则化?

最佳答案

除了用“:”替换“=>”并添加顶级键之外,我没有看到这里与 json 有任何区别。

filestr.replace(‘=>’, ‘:’)
dictionary = json.loads(filestr)

看到上面的评论后进行编辑。

不带引号的键确实不是 json 标准的一部分。为了解决这个问题,您可以使用描述的库 here或者你可以正则表达式它。

关于python解析: what file format uses `=>` OR how to read custom input files to dict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53464054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com