python compile


 

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

 


免責聲明!

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



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