python文件类型
.py文件
以.py为扩展名的文件是python代码源文件,可以直接看到代码,由python解释器执行。
.pyc
            以.pyc为扩展名的文件是代码源文件经过编译后的文件。
            
             其执行速度比py文件快。
            
             进行简单编译,并未加密,反编译可以得到源代码。
          
.pyw
            .pyw文件其本质上和.pyc文件是一质的。
            
             区别在于执行.pyc文件GUI程序会出现控制台,执行点.pyw的GUI程序不会出现控制台。
          
.pyo
            “python -O 源文件” 即可将 Python 源程序编译成 .pyo 文件,但有时仍得采用 .pyc 作后缀,才能正常运行。
            
             .pyo 文件是相对 .pyc 而言的,优化编译后的 Python 文件。
          
.pyd/so
            可以反汇编,但是无法反编译。
            
             .pyd 文件是非 Python,由其它编程语言 “编写-编译” 生成的 Python 扩展模块。
            
             Cython 可将个人基于 Python 语言编写的 Python 模块编译成具有 C 语言特性的 .pyd 或so文件。实质上是先转为C代码再转pyd/so文件。
          
生成so/pyd文件
- 
              安装easycython,目前仅支持到python3.6。pypi地址
              
pip install easycython - 
              将需要生成so/pyd文件的py文件改成pyx后缀。
              
如:pay.py命名为:pay.pyx - 
              使用命令
              
easycython xxx.pyx自动生成pyd(windows)或so(linux)。 - 
              其中生成的文件名
              
hello.cpython-36m-x86_64-linux-gnu.so中间部分去掉,如hello.so。 
使用方法
- 新建一个main.py文件。
 
            
              import os
import sys
#将当前so所在的路径添加到sys.path, python是在sys.path路径中找模块的
sys.path.append(os.path.realpath('.'))
from hello import hello 
hello()
            
          
          
          pyd文件理论上也是一样的,windows没试,没那个条件。
个人博客[http://blog.fenlanli.com]

