一、Python调用dll文件
import ctypes
from ctypes import *
lib = ctypes.windll.LoadLibrary(r"PCOMM.dll")
lib = ctypes.cdll.LoadLibrary(r"PCOMM.dll")
lib = ctypes.CDLL(r"PCOMM.dll")
二、遇到的问题
(一)问题一
(1)遇到问题
OSError: [WinError 126] 找不到指定的模块。
(2)问题分析
- 没有找到该DLL文件,路径不对或者被杀毒软件隔离;
- 你的DLL动态库依赖于其他其他DLL动态库无法被系统找到。在Python里面载入dll时,如果这个dll还依赖于其它的dll的话,这些相关的dll也得要能被Python的进程访问到。
(3)解决方法
- 方法一:将dll文件移动到当前文件夹下。
- 方法二:使用相对文件夹路径。
(一)问题二
(1)遇到问题
OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
(2)问题分析
python位数和dll位数不一样导致的,dll是32位的,而python是64位的。
(3)解决方法
方法:换一个64位dll。