Ich habe eine einfache Enum in C in myenum.h:Wrapping C-Enumeration in einem Python-Modul mit Swig
enum MyEnum {
ONE,
TWO,
THREE
};
Das Problem, das ist, wenn ich das Python Karte, ich nur die Enum zugreifen kann durch der Modulname, nicht über MyEnum. Daher sind die Werte EINS, ZWEI, DREI in allen anderen Funktionen enthalten, die ich definiere, anstatt mit MyEnum enthalten zu sein.
Meine api.i Datei ist:
%module api
%{
#include "myenum.h"
%}
%include "myenum.h"
I erzeugen mit SWIG
swig -builtin -python api.i
Und importieren Sie es in Python
import _api
Und jetzt muss ich die ENUM-Werte verwenden aus dem _api-Modul:
_api.ONE
_api.TWO
_api.THREE
Während ich sie wie
_api.MyEnum.ONE
_api.MyEnum.TWO
_api.MyEnum.THREE
verwenden möchten
Wer weiß, wie ich dies erreichen kann?
Thd _api-Modul ist privat. Sie sollten es nicht direkt verwenden. – Flexo