8

我正在尝试从自定义 .dll 文件中调用一个函数。但是当我尝试加载我的库 SDK.dll 时,我收到以下错误。我正在遵循此处的指示:Python import dll

有谁知道问题是什么?我只为 MAC 环境找到了这个问题的参考资料。

>>> from ctypes import *
>>> lib = ctypes.WinDLL('C:/Develop/test/SDK.dll')

Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    lib = ctypes.WinDLL('C:/Develop/test/SDK.dll')
NameError: name 'ctypes' is not defined
4

2 回答 2

11

通过这样做from ctypes import *,您将所有内容从ctypes模块拉到本地命名空间,因此您应该直接调用WinDLL

>>> from ctypes import *
>>> lib = WinDLL('C:/Develop/test/SDK.dll')

另一种(正如 NPE 提到的通常更好)的方法是只导入ctypes

>>> import ctypes
>>> lib = ctypes.WinDLL('C:/Develop/test/SDK.dll')
于 2013-04-08T10:58:37.750 回答
5

改变

from ctypes import *

import ctypes

前者将所有名称从ctypes当前命名空间导入。这通常被认为是一种不好的做法,最好避免。

于 2013-04-08T10:58:33.253 回答