一、Python調(diào)用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動態(tài)庫依賴于其他其他DLL動態(tài)庫無法被系統(tǒng)找到。在Python里面載入dll時,如果這個dll還依賴于其它的dll的話,這些相關(guān)的dll也得要能被Python的進程訪問到。
(3)解決方法
- 方法一:將dll文件移動到當前文件夾下。
- 方法二:使用相對文件夾路徑。
(一)問題二
(1)遇到問題
OSError: [WinError 193] %1 不是有效的 Win32 應(yīng)用程序。
(2)問題分析
python位數(shù)和dll位數(shù)不一樣導(dǎo)致的,dll是32位的,而python是64位的。
(3)解決方法
方法:換一個64位dll。