我有一個dll
和一個c
頭文件.h
。例如,有一些功能可以接受c
enum
;如何在ctypes python中傳遞enum作爲參數?
enum Type
{
typeA,
typeB
};
和功能
bool printType(Type type);
現在我想用dll
此功能從一個Python腳本。我已經導入了圖書館。它是成功的。我可以訪問其他功能,它的工作原理。所以有一個功能就像我上面給出的例子那樣需要一個Enum
作爲參數。
我在網上查看其他帖子後嘗試過的東西;
# -*- coding: utf-8 -*-
from ctypes import *
from enum import IntEnum
class CtypesEnum(IntEnum):
@classmethod
def from_param(cls, obj):
return int(obj)
class Type(CtypesEnum):
typeA = 0
typeB = 1
我已經這樣使用它。
setEnumtype = self.printType
setEnumtype.argtypes = [Type]
setEnumVale.restype = c.c_int
result = self.printType(setEnumtype.typeA)
口譯員說,它確實知道IntEnum
。我已經通過pip安裝了enum
。
是否有另一種直接的方式來做到這一點?
回溯:
from enum import IntEnum
ImportError: cannot Import Name IntEnum
請發佈*精確*回溯(即複製並粘貼文本) –
我已發佈原始回溯。 –