dll
とc
というヘッダーファイル.h
があります。例えば、c
enum
を受け入れる機能があります。ctypes pythonで引数としてenumを渡すには?
enum Type
{
typeA,
typeB
};
と機能
bool printType(Type type);
今私はPythonスクリプトからdll
のこの機能を使用します。私は図書館を輸入しました。それは成功です。私は他の機能にアクセスでき、機能します。したがって、上記の例のように1つの関数があり、パラメータとして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
をインストールしました。
これを行うもう1つの方法はありますか?
トレースバック:
from enum import IntEnum
ImportError: cannot Import Name IntEnum
*正確なトレースバックを投稿してください(つまり、テキストをコピーして貼り付けてください) –
私は元のトレースバックを掲載しました。 –