如何识别字符串中的python语句?

时间:2013-02-22 11:15:01

标签: python

我正在使用以下要求在python中执行一个项目: 我有一个变量:

some_variable = "os.getcwd()/local/bin"

现在有一个python语句" os.getcwd()"在变量中。我必须识别它,执行它并替换变量中的值。

注意:字符串中可能出现任何python语句。我必须识别它,将它分开并执行并用其值替换原始变量。

在执行后的变量中,如果当前工作目录是

/home/xyz

那么变量应该包含

/home/xyz/local/bin

os.getcwd()类似,任何python语句都可以发生。 如何识别字符串中的python语句?

1 个答案:

答案 0 :(得分:2)

正如评论中所提到的,这通常非常困难(例如,因为您无法确定标识符是文本的一部分还是python名称)。

因此,我建议稍微改变你的输入(假设在你的设置中这是可能的):Python模板引擎通常使用某种转义序列来表示python语句的开头和结尾。对于mako,例如,您将使用字符串some_variable = "${os.getcwd()}/local/bin",这使得替换变得容易。此外,采用这种语法意味着你可以立即使用mako而不必自己实现任何东西。

当然有很多替代mako,它只是我想到的第一个。

相关问题