【发布时间】:2011-10-28 14:38:43
【问题描述】:
我为此尝试了不同的想法,但还没有成功。因此这篇文章。
一些背景知识:我正在尝试破译一个可能包含来自单独文件的变量的 Makefile。我已经设法读取 Makefile 中的所有变量,并将其成功包含到 python 字典中。但现在我发现每个值本质上都引用了字典中的其他变量。我想要做的是展开字典中的所有值以具有独立于其他键/值对的文本。这肯定涉及递归(恕我直言),但我很想听听任何其他建议。
请注意,并非所有变量都可能具有与之关联的值。在这种情况下,将键替换为 NULL 字符串。
现在用一些代码来演示上面所说的内容:
设一个键值对列表
*A = -L${F} ${B} ${D},
*B = -L/我的家,
*F = /usr/lib
我想编写一个 python 脚本(可能使用正则表达式)以递归地用相应的键替换匹配 '${XXX}' 的值,直到没有更多可用的值匹配规定的模式(即,一切都展开) .由于 D 没有与之关联的值,我希望 A 的值最终是(例如)
*A = -L/usr/lib -L/myhome
提前致谢。任何帮助将不胜感激。
【问题讨论】: