zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    插入排序
    选择排序
    二分法查找
    pickle模块的使用
    循环和递归求阶乘、递归实现汉诺塔程序、递归实现拆出每个位的数字放在列表中、递归求第五个人的年龄
    app测试和测试基础
    TCP协议中的三次握手和四次挥手及其他
    AcWing 122 糖果传递
    AcWing 121 赶牛入圈 (二分+离散化)
    AcWing 120 防线 (二分)
  • 原文地址:https://www.cnblogs.com/ankier/p/2719731.html
Copyright © 2011-2022 走看看