python内建eval, exec 和exec函数的用法
函数原型:
eval(str [,globals [,locals ]])
可以用来将字符串str当成有效Python表达式来求值,并返回计算结果。同样地, exec语句将字符串str当成有效Python代码来执行。最后,execfile(filename [,globals [,locals ]])函数可以用来执行一个文件。
例如:现在有一个字符串,形如字典值dict值,需要把它转换成python 的 dict 数据,我们可以用eval()函数来转换,代码如下
"{
'Define1':[[63.3,0.00,0.5,0.3,0.0],[269.3,0.034,1.0,1.0,0.5],[332.2,0.933,0.2,0.99920654296875,1],[935.0,0.990,0.2,0.1,1.0]],
'Define2':[[63.3,0.00,0.5,0.2,1.0],[269.3,0.034,1.0,0.3,0.5],[332.2,0.933,0.2, 0.4,0.6],[935.0,0.990,1.0, 0.5,0.0]],
}"
#------------------------------------------------------------------------------- # Name: 模块1 # Purpose: # # Author: User # # Created: 11/10/2012 # Copyright: (c) User 2012 # Licence: <your licence> #------------------------------------------------------------------------------- def main(): dictString = "{'Define1':[[63.3,0.00,0.5,0.3,0.0],[269.3,0.034,1.0,1.0,0.5],[332.2,0.933,0.2,0.99920654296875,1],[935.0,0.990,0.2,0.1,1.0]],'Define2':[[63.3,0.00,0.5,0.2,1.0],[269.3,0.034,1.0,0.3,0.5],[332.2,0.933,0.2, 0.4,0.6],[935.0,0.990,1.0, 0.5,0.0]],}" dict = eval(dictString) print "keys:", dict.keys() print "Define1 value ", dict['Define1'] if __name__ == '__main__': main()