Supongamos que defino una enumeración bajo cffi:
from cffi import FFI ffi = FFI() ffi.cdef('typedef enum {RANDOM, IMMEDIATE, SEARCH} strategy;')
Ahora se puede acceder fácilmente al mismo cuando se llama a cdef
nuevamente. Pero, ¿cómo me gustaría entonces acceder a esta enumeración en python, sin volver a declararla? No se encuentra ninguna mención en los documentos.
Use ffi.dlopen
y acceda al valor de enumeración calificando con el valor de retorno de ffi.dlopen
:
>>> from cffi import FFI >>> ffi = FFI() >>> ffi.cdef('typedef enum {RANDOM, IMMEDIATE, SEARCH} strategy;') >>> c = ffi.dlopen('c') >>> c.RANDOM 0 >>> c.IMMEDIATE 1 >>> c.SEARCH 2
Si ha envuelto una biblioteca, puede usar lo mismo que se indica a continuación:
import _wrappedlib print _wrappedlib.lib.RANDOM