函數原型:
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()