如你所见,ifinner是一个字符串,所以如果我只是写下if,总是会是真的。我能做些什么,将它与源代码相结合?
x=2
ifinner = "x==3"
if ifinner:
print("Yeah")
else:
print("It works!")
答案 0 :(得分:3)
您可以使用eval()
函数来评估Python源代码。
引用文档:
eval(表达式,全局变量=无,本地人=无)
参数是一个字符串,可选 globals 和 locals 。如果提供,globals必须是字典。如果提供, locals 可以是任何映射对象。
答案 1 :(得分:1)
试试这个:
<?xml version="1.0"?>
<data>
<group>
<country name="Liechtenstein">
<rank>1</rank>
<year>2008</year>
</country>
<country name="Singapore">
<rank>4</rank>
<year>2011</year>
</country>
</group>
<group>
<country name="Panama">
<rank>68</rank>
<year>2011</year>
</country>
</group>
</data>
有关详细信息,请阅读python 2.x / 3.x中的eval和exec文档。 之前曾问过类似的问题。这是link
答案 2 :(得分:0)
我认为eval不适用于这样的字符串
str_ = "import matplotlib"
在这种情况下,您可能必须打开一个单独的文件,编写字符串,然后执行它。但是