1. pyc文件是什麼?
python中的pyc擴展名文件,類似於Java的Class字節碼文件,是由編譯器編譯得來的,供解釋器使用;
當我們部署程序時,不想暴露源碼,可以使用pyc文件;
2. 手動生成pyc文件
2.1 生成單個pyc
使用python內置的py_compile庫,操作簡單;
方式一:命令行:
python3.6 -m py_compile test.py
test.py內容:
#!/usr/bin/env python3.6
# coding=utf-8
print('Kiss me now.')
方式二:腳本:
#!/usr/bin/env python3.6
# coding=utf-8
import py_compile
py_compile.compile('test.py')
執行完後,會出現名爲“__pycache__”的文件夾,裏面有test.cpython-36.pyc文件;
我們運行此pyc文件,
python3.6 __pycache__/test.cpython-36.pyc
同樣會打印:Kiss me now.
2.2 批量生成pyc
使用python內置的compileall庫;
同樣有2種方式,這裏使用命令行演示;
test文件夾下有兩個文件test.py和test2.py;
使用命令行,一次將2個文件編譯成對應的2個pyc文件,
python3.6 -m compileall test
執行完畢後,在test文件夾下會生成__pycache__文件夾,其中有兩個pyc文件,test2.cpython-36.pyc和test.cpython-36.pyc,這兩個pyc文件也可以執行。
後記
本次測試使用python3.6.8,生成的pyc文件在__pycache__文件夾中;
python2.7.15生成的pyc文件和py文件同級,而沒有__pycache__文件夾;
另外,當執行import操作的時候,也會生成pyc文件;