Ошибка загрузки DLL в пути с круглыми скобками с использованием ctypes (python)
Я пытаюсь получить доступ к DLL, расположенной в папке «c: / Program Files (x86)» на 64-битном процессоре ПК.
Если я использую os.path.exists, чтобы проверить, существует ли dll, я получу утвердительный ответ:
>>> print os.path.exists('c:/Program Files (x86)/Some Folder/SomeDll.dll')
True
Но когда я пытаюсь загрузить dll, используя ctypes, я получаю следующую ошибку:
>>> from ctypes import WinDLL
>>> some_dll = WinDLL('c:/Program Files (x86)/Some Folder/SomeDLL.dll')
Traceback (most recent call last):
File "<console>", 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
В 32-битных ПК DLL находится в папке «c: / Program Files», и я могу открыть ее без проблем. Я думаю, что, возможно, проблема заключается в наличии круглых скобок в имени папки. Поскольку возвращаемое исключение было WindowsError, кажется, что это ошибка в функции операционной системы, ответственной за загрузку библиотек.
Итак, вопрос: как мне загрузить dll, находящуюся в папке "c: / Program Files (x86)"? Я не могу скопировать DLL в другое место назначения, этодолжен находиться в первоначальном пути ...
Спасибо!