python 的文件类型有很多.
*.py文件是Python源程序代码文件;
*.pyc文件是Python源程序文件(*.py)经编译后生成的字节码文件;*.pyo文件是Python源程序文件(*.py)经优化编译后生成的字节码文件;
从本质上讲,pyc文件和pyo文件之间没有太大区别,只是pyo文件模块的加载速度比pyc文件模块的加载速度高;
从代码的运行速度上讲,pyo文件模块中代码的运行速度与pyc文件模块中代码的运行速度差不多一样;
通常只需编译生成pyc或pyo文件即可,
而不需要两种文件都生成;
下面编写一个简单的python脚本
文件名称为test.py.
#!/bin/env python
#the file name is test.py
print "hello world"
这样一个简单的脚本.
一.可以直接通过./test.py 执行 (使用chmod +x test.py 给该python脚本一个可执行的权限.)
二.可以使用python test.py 这里不需要可执行权限.
三.可以使用python -m py_compile test.py 这时,会生成一个tet.pyc 执行类似于 一或者二的步骤也可输出相同的内容.
四.和比较类似,但是相对比较麻烦一点.
编写一个test.py_compile.py 文件,内容如下.
#!/bin/env python
import py_compile
py_compile.compile("test.py")
对,没错就是这样.使用类似于一或者二的步骤,也可以生成和三一样的文件,后缀名为pyc
五.使用 python -O -m py_compile test.py 可以生成一个test.pyo 文件.同样执行类似于一或者二的步骤,输出内容.
python -OO -m py_compile <单个py文件>
python -O -m compileall <py文件所在目录>
python -OO -m compileall <py文件所在目录>
其他内容,编译多个文件.
import compileall;compileall.compile_dir("<py文件所在目录>");
用compileall模块编译出来的pyc文件比py_compile编译出来的pyc文件大;
用compileall模块编译出来的pyo文件比py_compile编译出来的pyo文件大;
开始学习python,希望大家见谅.