python怎么封装方法然后调用_我现在想把自己写的python模块源代码封装成dll,然后在别的python脚本里调用,可以吗?...
展開全部
可以的,只要把python模塊轉換成2113dll模塊,利用5261Python自帶的ctypes模塊加載調用就行。4102
ctypes 是Python的外部函數庫。它提供了與1653 C語言兼容的數據類型,并允許調用 DLL 或共享庫中的函數。可使用該模塊以純 Python 形式對這些庫進行封裝。
ctypes導出了cdll對象,在 Windows 系統中還導出了windll和oledll對象用于載入動態鏈接庫。通過操作這些對象的屬性,你可以載入外部的動態鏈接庫。cdll載入按標準的cdecl調用協議導出的函數,而windll導入的庫按stdcall調用協議調用其中的函數。
擴展資料:
加載調用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模块源代码封装成dll,然后在别的python脚本里调用,可以吗?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于python的语料库数据处理电子版_
- 下一篇: spring cloud config动