1)安装cython,Linux平台需安装gcc,Windows平台需安装对应版本的Visual Studio
pip install cython
2)新建一个build.py文件,内容如下
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize("xxx.py")) # xxxe.py是需要转换pyd的py文件
3)打开对应位置终端,在终端下,输入如下命令:
python build.py build_ext
生成.pyd文件
4)使用.pyd文件
hello.cp37-win_amd64.pyd的名字中有.不符合import规则,改名为hello.pyd ,改名要与原来的hello.py名称一致
新建一个usingLib.py文件来使用.pyd里面的函数,hello.pyd需要与usingLib.py处于一个文件夹下
import hello
hello.hello()#使用hello模块中的hello()函数
成功封装!!
以上是利用cython的方式封装,即解析为c语言后封装,安全性较高,具有一定的反编译能力
下面使用一种较简单的方式封装,即pyc,是python编译的中间文件,安全性较低,但方便快捷
1.先写好目标函数
def talk():
print('good!')
2.创建pyc文件
import py_compile
py_compile.compile(file="say.py") # 需转换为pyc文件在——__pycache__中
__pycache__的位置在,在pycharm中是看不见的,需要手动去复制
3.使用pyc文件
新建一个文件夹,并创建一个py文件–using.py
import say
say.talk()
将say.cpython-37.pyc复制到与using.py同一文件夹下,改名为say.pyc
成功封装!