"Stellaris" 游戏中的 .yml 格式错误
Wrong .yml format in "Stellaris" game
我想解析包含“Stellaris”本地化的 yaml 文件。但是我一直有一个错误
"yaml mapping values are not allowed here"
我用的是pyyaml。
主要问题是游戏中的所有本地化文件都有这样的行:
trait_ruler_immortal:0 "Immortal"
但在 yaml 文档和论坛中我可以看到我们必须在冒号后添加 'space'。我不明白这个“0”符号是什么意思。
有趣的是,该游戏在解析这些文件时没有任何问题。
也许这是特殊的 yaml 格式?
编辑:
更多代码:
l_english:
crisis.2087.desc_psionic_synth:0 "一小部分"
EXTSYNTH_DIVINE_SPARK: "神圣火花"
EXTSYNTH_START_AT_3:0“§G此种族的领导者技能等级为 3§!”
根据规范,这是无效的 YAML。很可能是 Stellaris 在将文件提供给 YAML 加载程序之前对其进行了一些预处理。我们只能猜测这里发生了什么。
解析它的最佳镜头可能是将其加载到字符串然后执行
input.replace(":0 ", ": ")
在解析之前。
我想解析包含“Stellaris”本地化的 yaml 文件。但是我一直有一个错误
"yaml mapping values are not allowed here"
我用的是pyyaml。 主要问题是游戏中的所有本地化文件都有这样的行:
trait_ruler_immortal:0 "Immortal"
但在 yaml 文档和论坛中我可以看到我们必须在冒号后添加 'space'。我不明白这个“0”符号是什么意思。 有趣的是,该游戏在解析这些文件时没有任何问题。 也许这是特殊的 yaml 格式?
编辑:
更多代码: l_english: crisis.2087.desc_psionic_synth:0 "一小部分" EXTSYNTH_DIVINE_SPARK: "神圣火花" EXTSYNTH_START_AT_3:0“§G此种族的领导者技能等级为 3§!”
根据规范,这是无效的 YAML。很可能是 Stellaris 在将文件提供给 YAML 加载程序之前对其进行了一些预处理。我们只能猜测这里发生了什么。
解析它的最佳镜头可能是将其加载到字符串然后执行
input.replace(":0 ", ": ")
在解析之前。