Ich habe eine C++ - Implementierung mit SWIG umwickelt und kompiliert zu einem Modul, das von Python verwendet werden kann.Konvertiere ein Ctypes int ** in ein numpiges zweidimensionales Array
Ich benutze Ctypes, um die Funktion mit ctype Argumente, int double etc. Die Ausgabe von my_function (ctype args) ist ein int **, d. H. Es ist ein mehrdimensionales Array.
Wie kann ich dies in ein zweidimensionales Array innerhalb des Python-Skripts umwandeln? Ich habe mir Ctypes-Zeiger angesehen, aber bisher hatte ich kein Glück. Ich habe viele, viele Stunden damit verbracht, die C-API von Python und Numpy für die Verwendung mit SWIG zu lesen, und die Implementierung auf der C++ - Seite, um ein numpiges Array zurückzugeben, war bisher unglaublich hart und völlig erfolglos.
wie ein Duplikat Looks. Was ist mit dieser Antwort? http://stackoverflow.com/questions/22425921/pass-a-2d-numpy-array-to-c-using-ctypes –
Diese Frage scheint die Dual zu diesem, @TheQuantumPhysicist (numpy -> int **) , nicht int ** -> numpy) – Eric
Ist das 'int **' dynamisch zugewiesen? Wessen Aufgabe ist es, es zu löschen? – Eric