Python ctypes.WinDLL错误,无法找到_dlopen(self._name,mode)

时间:2010-06-23 13:22:57

标签: python windows dll dllimport ctypes

ctypes.WinDLL("C:\Program Files\AHSDK\bin\ahscript.dll")

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python26\lib\ctypes\__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found

我该如何解决?我在C:\Python26\lib\ctypes\__init__.py中找到了_dlopen,但我真的不知道如何解决它。

1 个答案:

答案 0 :(得分:7)

反斜杠是字符串中的转义字符,如下例所示:

>>> print "C:\Program Files\AHSDK\bin\ahscript.dll"
C:\Program Files\AHSDinhscript.dll

您可以通过在字符串前放置一个r来解决问题,这可以防止反斜杠作为转义字符使用:

ctypes.WinDLL(r"C:\Program Files\AHSDK\bin\ahscript.dll")

或者,你可以逃避反斜杠:

ctypes.WinDLL("C:\\Program Files\\AHSDK\\bin\\ahscript.dll")