Отправка двоичных данных через IPC с C на Python

У меня есть программа C и программа Python на одной машине. Программа C генерирует некоторые данные во вложенных структурах. Какая форма IPC является лучшим способом передачи этих данных в программу python?

Насколько я слышал, сериализация в C (особенно вложенные структуры) - настоящий медведь из-за отсутствия библиотек сериализации. Я не очень хорошо знаком с разделяемой памятью, но я предполагаю, что форматирование структур C может быть не очень приятным для программы python, когда дело доходит до выравнивания памяти и следования указателям. Библиотека ctype и struct предназначена только для невложенных структур. Пока что я думаю:

Оберните все данные в программе C в некоторый формат xml или json, запишите их через сокет в программу python, а затем позвольте программе python интерпретировать данные в формате xml/json. Выглядит очень громоздко с большим количеством накладных расходов.

Любые лучшие идеи?


person G.A.    schedule 27.06.2010    source источник
comment
Вы можете взглянуть на эту тему связь между python и c"> stackoverflow.com/questions/3001827/   -  person Aif    schedule 27.06.2010


Ответы (1)


Я думаю, вы сами ответили на свой вопрос. JSON, безусловно, хороший выбор. Также не очень сложно сделать собственную сериализацию на C.

person R.. GitHub STOP HELPING ICE    schedule 27.06.2010