Я новичок в Си и Питоне. Сейчас я учусь встраивать Python в C. Поскольку я вызываю функции Python из C, я хотел бы знать, как мы можем передать структуру C в Python?
Большое спасибо заранее!
Самое чистое, что можно сделать, это, вероятно, создать новый тип и реализовать tp_getattr, либо возвращая соответствующий член структуры, либо вызывая исключение в зависимости от переданного аргумента.
tp_getattr
Эта документация по расширению и / или внедрению Python может помочь вам начать работу.
Существует также библиотека ctypes для динамической загрузки собственных DLL и передачи C-подобных структур в них и из них (полностью из Python).
ctypes
Это, вероятно, не то, что вы ищете, но мы используем LCM для совместного использования структур c между программами c / c ++, python, java и matlab через udp и multicast.Это очень удобно для робототехники.