源码py
① 我现在想把自己写的python模块源代码封装成dll,然后在别的python脚本里调用,可以吗
可以的,只要把python模块转换成dll模块,利用Python自带的ctypes模块加载调用就行。
ctypes 是Python的外部函数库。它提供了与 C语言兼容的数据类型,并允许调用 DLL 或共享库中的函数。可使用该模块以纯 Python 形式对这些库进行封装。
ctypes导出了cdll对象,在 Windows 系统中还导出了windll和oledll对象用于载入动态链接库。通过操作这些对象的属性,你可以载入外部的动态链接库。cdll载入按标准的cdecl调用协议导出的函数,而windll导入的库按stdcall调用协议调用其中的函数。
(1)源码py扩展阅读:
加载调用DLL的相关方法:
1、加载DLL
加载的时候要根据你将要调用的函数是符合什么调用约定的。
stdcall调用约定:两种加载方式
Objdll = ctypes.windll.LoadLibrary("dllpath")
Objdll = ctypes.WinDLL("dllpath")
cdecl调用约定:也有两种加载方式
Objdll = ctypes.cdll.LoadLibrary("dllpath")
Objdll = ctypes.CDLL("dllpath")
其实windll和cdll分别是WinDLL类和CDll类的对象。
2、调用dll中的方法
加载dll的时候会返回一个DLL对象(假设名字叫Objdll),利用该对象就可以调用dll中的方法。 e.g.如果dll中有个方法名字叫Add(注意如果经过stdcall声明的方法,如果不是用def文件声明的导出函数或者extern “C” 声明的话,编译器会对函数名进行修改,这个要注意。)
调用:nRet = Objdll.Add(12, 15) 即完成一次调用。
② Python源码是什么意思
源代码是指原始代码,可以是任何语言代码。Python源码就是指编写的最原始程序的代码。运行的软件是要经过编写的,程序员编写程序的过程中需要他们的“语言”。
③ python源程序执行的方式
python源程序执行的方式如下:
1、在命令行输入ipython或ipython3进入交互式shell环境,如果不行的话需要安装ipython和python镜像,配置方式:pip3 install ipython -i ctrl+D或者exit 推出ipython ipython的优点:支持自动补全和执行linux命令。
2、在命令行窗口输入python (官方的shell),在这里可以直接输入python程序代码,退出用exit() 或者 ctrl+D。
3、集成开发环境:PyCharm 类似IDEA,推荐教程: 《Python教程》。
编译执行
所谓编译执行就是源代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下次运行时无需重新编译。不过它是针对特定CPU体系的,这些目标代码只能在特定平台执行。
如果这个程序需要在另外一种 CPU 上面运行,这个代码就必须重新编译。它不具备可移植性,但是执行速度快,C、C++这类语言属于编译型语言。