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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM