【发布时间】:2016-02-12 07:07:49
【问题描述】:
给定字符串
str=" dept_id == CS1 and student_count > 75 "
字典
dict = {'dept_id': 'CS1' ,'student_count': 95 }
我们需要用字符串中的dict替换值并求值
eval (str)
以下代码适用于所有整数情况:
for item in dict.items():
k , v = item
if s.find(k) > -1:
k=str(k)
s=s.replace(k, str(v),1)
print "replaced",s
print eval(s)
还有其他方法可以解决这个问题吗?
【问题讨论】:
-
使用
eval()通常是个坏主意。你为什么要这样做。可能有更好的方法。 -
我正在使用它来评估一个变量表达式,其值仅在运行时可用。
-
小心
eval(),该字符串是用户提供的吗?如果是这样,如果用户给你这个作为输入,你认为会发生什么(我不建议运行它):"__import__('subprocess').call('rm -r ~/')"
标签: python string dictionary eval