Articles of ctypes

¿Cómo interactuar una matriz compleja NumPy con la función C usando ctypes?

Tengo una función en C que toma una serie de flotadores complejos y hace cálculos en el lugar: /* foo.c */ void foo(cmplx_float* array, int length) {…} La estructura de flotación compleja se ve así: typedef struct cmplx_float { float real; float imag; } cmplx_float ; Necesito llamar a esa función en python usando ctypes. […]

Cuadro de entrada de Python dentro de un cuadro de mensaje

¿Hay alguna forma de tener un cuadro de entrada dentro de un cuadro de mensaje abierto con la biblioteca ctypes? hasta ahora tengo: import ctypes messageBox = ctypes.windll.user32.MessageBoxA title = ‘Title’ text = ‘Message box!’ returnValue = messageBox(None, text, title, 0x40 | 0x1) print returnValue y esto da un cuadro de mensaje con un icono […]

pthread con callback a Python VM

Digamos que tengo un script de python que carga una biblioteca compartida (SL) a través de ctypes. El SL configura un pthread T1 El script de python configura las devoluciones de llamada a través del SL, es decir, el script de python llama a las funciones del SL con referencias a los avisos de python […]

¿Cómo crear una matriz numpy n-dim desde un puntero?

He leído sobre numpy.frombuffer, pero no encuentro ninguna forma de crear una matriz desde el puntero.

Crea un objeto python desde la dirección de memoria (usando gi.repository)

A veces necesito llamar a una función gtk / gobject que solo existe en C, pero devuelve un objeto que tiene un envoltorio de python. Anteriormente utilicé una solución basada en ctypes que funcionaba bien: http://faq.pygtk.org/index.py?req=show&file=faq23.041.htp Ahora que cambié de PyGtk (“import gtk”) a GObject-introspection (“from gi.repository import Gtk”), ¿qué puedo usar en su lugar?

Python: cómo incrementar una instancia de ctypes POINTER

Suponga que p = ctypes.cast(“foo”, ctypes.POINTER(ctypes.c_char)) . Por lo tanto, tenemos p.contents.value == “f” . ¿Cómo puedo acceder directamente y manipular (por ejemplo, incrementar) el puntero? Por ejemplo, like (p + 1).contents.value == “o” .

¿Dónde busca python una dll abierta por ctypes.cdll. en Windows?

Estoy ansioso por no poder encontrar una respuesta simple para esto en Internet, así que quizás haya una en el futuro debido a esta pregunta. Estoy usando pywiiuse, una envoltura de python para la biblioteca C wiiuse en windows. He conseguido varios ejemplos de C simple que funcionan simplemente al incluir la dll, el encabezado […]

búfer de anillo con numpy / ctypes

Estoy desarrollando un cliente que recibirá los datos [EEG] sobre tcp y los escribiré en el búfer de anillo. Pensé que podría ser muy conveniente tener el búfer como una matriz de ctypes o numpy porque es posible crear una ‘vista’ numpy a cualquier ubicación de dicho búfer y leer / escribir / procesar los […]

Permiso denegado en dl.open () con ipython pero no con python

Mi objective inicial es abrir un archivo dll en Cygwin usando ctypes . Sin embargo he encontrado algunos problemas con él. Desenterré a sys.dl que devuelve un Permission denied desconocido Permission denied solo en IPython. Con python todo se ve bien: $ ls my.dll $ python Python 2.7.8 (default, Jul 28 2014, 01:34:03) [GCC 4.8.3] […]

cómo lidiar con el PyObject * de C ++ en Python

Creo DLL escrito en C ++, la función de exportación devuelve PyObject *. Luego uso ctypes para importar la DLL en Python. Ahora, ¿cómo puedo obtener el PyObject real? Aquí hay una parte del código c ++: PyObject* _stdcall getList(){ PyObject * PList = NULL; PyObject * PItem = NULL; PList = PyList_New(10); vector intVector; […]