Я создал объект буфера в Python, как так:Содержание доступа из PyBuffer из C
f = io.open('some_file', 'rb')
byte_stream = buffer(f.read(4096))
Я теперь проходящие byte_stream
в качестве параметра в функцию C, через SWIG. У меня есть TypeMap для преобразования данных, который выглядит следующим образом:
%typemap(in) unsigned char * byte_stream {
PyObject *buf = $input;
//some code to read the contents of buf
}
Я пытался несколько различных вещей ошибка не может добраться до фактического содержания/значение моего byte_stream. Как преобразовать или получить доступ к контенту моего byte_stream
с использованием C API? Существует множество различных способов преобразования данных C в буфер, но ни один из них не может найти для перехода по другому пути. Я пробовал смотреть на этот объект в gcb, но ни он, ни значения, на которые он указывает, содержат мои данные.
(Я использую буферы, потому что хочу избежать накладных расходов на преобразование данных в строку при чтении из файла) Я использую python 2.6 в Linux.
- Спасибо Павел