【发布时间】:2019-06-14 01:44:50
【问题描述】:
作为为飞行模拟器创建“任务生成器”的第一步,我希望能够提取任务模板的片段,以便我可以更改或删除一些内容,将其重新组合在一起,然后生成一个新的“任务”文件。 我的 Python 技能很少。我不需要一个可行的解决方案,但想要一个进一步调查的方向。这是挑战:
这是输入文件的(简化)示例:
test_str = ("Group\n"
"{\n"
" Name = \"Group 1\";\n"
" Index = 2;\n"
" Desc = \"Description\";\n"
" Block\n"
" {\n"
" Name = \"Block 1\";\n"
" Index = 497;\n"
" XPos = 171568.472;\n"
" YPos = 0.000;\n"
" ZPos = 204878.718;\n"
" }\n"
"\n"
" Block\n"
" {\n"
" Name = \"Block 2\";\n"
" Index = 321;\n"
" XPos = 162268.472;\n"
" YPos = 0.000;\n"
" ZPos = 203478.718;\n"
" }\n"
"\n"
"}\n"
"\n"
"Group\n"
"{\n"
" Name = \"Group 2\";\n"
" Index = 5;\n"
" Desc = \"Description\";\n"
" Block\n"
" {\n"
" Name = \"Block 3\";\n"
" Index = 112;\n"
" XPos = 122268.472;\n"
" YPos = 0.000;\n"
" ZPos = 208878.718;\n"
" }\n"
"\n"
" Block\n"
" {\n"
" Name = \"Block 4\";\n"
" Index = 214;\n"
" XPos = 159868.472;\n"
" YPos = 0.000;\n"
" ZPos = 202678.718;\n"
" }\n"
"\n"
"}\n")
如您所见,该文件由许多可以分组的对象(“块”)组成。这是一个嵌套结构,因为组也可以分组(此处未显示)。 如何根据名称隔离一个特定组?
假设我只想在输出文件中使用“Group 2”,我希望得到结果:
Group
{
Name = "Group 2";
Index = 5;
Desc = "Description";
Block
{
Name = "Block 3";
Index = 112;
XPos = 122268.472;
YPos = 0.000;
ZPos = 208878.718;
}
Block
{
Name = "Block 4";
Index = 214;
XPos = 159868.472;
YPos = 0.000;
ZPos = 202678.718;
}
}
对于组内的给定块,还有一个类似的问题。
【问题讨论】:
-
谢谢!我不知何故错过了。
标签: python