Форум сайта python.su
Есть одна библиотека на C. Ей я передаю название файла, она открывает этот файл и получает из него определенные данные. Данные в основном текстовые, но при получении этих данных и выводе их я получаю числа. Если работать с предложенным примером на C, то все нормально. Как это решается ?
Отредактировано (Авг. 13, 2007 12:07:37)
Офлайн
а пробовали сообщить ctypes, что функция возвращает указатель на char*?
а вообще на такой вопрос могут ответить только телепаты. мы ж не видим примера кода, так что толкового ответа будете ждать долго.
Офлайн
как ей сообщить о типе char ?
Отредактировано (Авг. 13, 2007 12:47:06)
Офлайн
курить доку насчет .restype
Офлайн
bialixЗначит с этим вопросом надо идти на ЛОР :)
а вообще на такой вопрос могут ответить только телепаты.
Офлайн
Спрашивать что либо на ЛОРе себе дороже.
import ctypes
lib = ctypes.cdll.LoadLibrary('./libgpx.so')
file = lib.openGP("1.gp3")
title = lib.getTitle(file)
artist = lib.getArtist(file)
print 'Title: %s'%title
print 'Artist: %s'%artist
Офлайн
адреса она тебе выдает. bialix правильно писал - restype. Типа lib.getTitle.restype = c_char_p. В простейшем случае - поможет.
И вообще, без приведения .h файла для этой загадочной библиотеки (или просто определений интересующих функций) все очень напоминает гадание.
Офлайн
Точно, я просто не так до этого использовал restype. Спасибо
Офлайн
Насчет gp3
Есть такая программа на питоне написанная - songwrite
Это редактор таблатур с tk`шным интерфейсом, в нем есть функция импорта из некоторых форматов в т.ч. gp3(нативная, на питоне сделанная)
Можешь к нему подцепиться(он умеет преобразовывать в xml, например) или просто выдрать нужные функции.
А для чего тебе если не секрет?
Я вот делал аналог guitar pro и подобных на основе ajax, на основе songwrite сделал в нем импорт/экспорт из/в gtp и midi. Ну и воспроизведение(через midi)
Офлайн