首页 > 编程语言 > 详细

python compile

时间:2016-12-11 12:50:11      阅读:223      评论:0      收藏:0      [点我收藏+]

 

compile(source, filename, mode[, flags[, dont_inherit]])

参数source:字符串或者AST(Abstract Syntax Trees)对象。

参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。

参数model:指定编译代码的种类。可以指定为 ‘exec’,’eval’,’single’。如果是exec类型,表示这是一个序列语句,可以进行运行;如果是eval类型,表示这是一个单一的表达式语句,可以用来计算相应的值出来;如果是single类型,表示这是一个单一语句,采用交互模式执行,在这种情况下,如果是一个表达式,一般会输出结果,而不是打印为None输出。

 

exec_code="for i in range(5):    print i"
cmp_code=compile(exec_code,‘‘,exec)
exec cmp_code
cmp_code

0
1
2
3
4
Out[5]: <code object <module> at 00000000096FB730, file "", line 
eval_code=1+2
cmp_code2=compile(eval_code,‘‘,eval)
eval(cmp_code2)
cmp_code2

Out[31]: 3
Out[32]: <code object <module> at 00000000096FB6B0, file "", line 1>
cmp_code=compile(print "single",‘‘,single)
exec cmp_code
cmp_code

eval_code=1+2
cmp_code2=compile(eval_code,‘‘,single)
eval(cmp_code2)
cmp_code2

cmp_code=compile(raw_input("pls input: "),‘‘,single)
exec cmp_code
eval(cmp_code)
cmp_code

 

python compile

原文:http://www.cnblogs.com/dadadechengzi/p/6159289.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!