1.代碼加密
由于python設計的初衷是開源的悦即,因此py文件是可以直接看到源碼的作谭。但開發(fā)商業(yè)軟件硼讽,代碼加密保護就比較重要了捉偏。
? ? ? pyc文件是py文件經過編譯后生成的二進制文件,因此可以發(fā)布pyc文件以隱藏源代碼农渊。pyc文件擁有更快的加載速度患蹂,執(zhí)行速度沒有區(qū)別。pyc是一種跨平臺的字節(jié)碼砸紊,pyc的內容是跟python的版本相關的传于,不同版本編譯后的pyc文件是不同的,2.5編譯的pyc文件醉顽,2.4版本的python是無法執(zhí)行的沼溜。
? ??? python提供了內置的類庫來實現(xiàn)把py文件編譯為pyc文件,這個模塊就是py_compile模塊
生成單個pyc文件
? ??? python -m py_compile test.py
? ??? python -O -m py_compile test.py
? ??? -O 優(yōu)化成字節(jié)碼(pyo)
? ? ? -m 表示把后面的模塊當成腳本運行
? ??? -OO 表示優(yōu)化的同時刪除文檔字符串
批量生成pyc文件
? ??? python -m compileall .