我在.ini文件中有一个if语句:
critical= $TREND$>=40
在我的脚本中,将$ TREND $替换为我的值,所以我有一个变量:
critical = "10.5>=40"
我尝试执行此if语句,以了解它是True还是False。
if critical:
print "It's critical!"
(我知道它将只检查critical是否为空)
最佳答案
一种选择是使用eval
:
critical = eval("10.5>=40")
但是,您必须确保“评估”的内容是完全可信的,因为它允许您执行任何任意的python代码。也就是说,如果字符串的任何部分由“不受信任的实体”(用户,外部api等)传入,则不要使用此选项。
另一个可能更好的选择可能是使用允许“不受信任”或“沙盒”执行的“模板解析器”。例如,Jinja Sandbox mode。