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.')
-m的作用:把模块当作脚本来执行
方式二:脚本:
#!/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文件;