Рабочий процесс: указатель C на массив Python? - PullRequest
0 голосов
/ 04 ноября 2019

Я пишу некоторый код на C, который считывает данные и сохраняет их в указателе типа;

uint8_t

Эти данные я сейчас хочу сделать доступными в Python3.

На данный момент я выяснил, как сделать мой код C вызываемым с помощью ctypes, и я знаю, что он работает, поскольку я могу печатать свои данные в терминале Python, но не могу сохранить его вПеременная.

Моя проблема заключается в том, что я не знаю, как преобразовать этот указатель в массив, который можно хранить и манипулировать в Python, поэтому я спрашиваю, есть ли у кого-нибудь простой пример, куда они перемещают для примераМассив 3 на 1 из C в Python, и затем он может работать с ним, это мне очень поможет.

1 Ответ

0 голосов
/ 04 ноября 2019

Хорошо, так что мне удалось выяснить это, может быть, не самый умный способ, но по крайней мере это работает сейчас. Так как я возвращаю указатель типа `` `u_int8 *` `` `в C, я могу в Python использовать что-то вроде этого:

g = (ctypes.c_float*5271).from_address(a)

И затем g [0], g [:] и т. д. для получения данных и т. д.

...