Подтвердить что ты не робот

Ошибка загрузки DLL в python, а не действительное приложение win32

Я пытаюсь загрузить DLL в python для вызова функций.

import ctypes
from ctypes import *

dsusb = ctypes.WinDLL('c:\python27\dsusb.dll')

Я получаю следующую ошибку в моем стеке.

C:\Python27>python test.py
Traceback (most recent call last):
  File "test.py", line 4, in <module>
    dsusb = ctypes.WinDLL('c:\python27\dsusb.dll')
  File "C:\Python27\lib\ctypes\__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 is not a valid Win32 application

Я также попробовал cdll с тем же кодом.

Я искал ошибку, и окна говорят об этом из-за пути, содержащего пробелы... который, я думаю, не является проблемой...

Я загружаю эту DLL неправильно или есть что-то, что может быть неправильным в dll?

4b9b3361

Ответ 1

Как следует из комментариев, это может быть проблема архитектуры.

Если вы используете 32-битную DLL с 64-битным Python или наоборот, тогда вы, вероятно, получите ошибки.

Поскольку у меня была ваша ошибка раньше, я рекомендую попробовать загрузить вашу DLL с 32-битным Python.

Ответ 2

У меня была такая же проблема. Я исправил, скомпилировав свой код на C с помощью командной строки VS2015 x64. Теперь все 64 бит.