Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 13, 2007 12:04:42

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

траблы с ctypes

Есть одна библиотека на C. Ей я передаю название файла, она открывает этот файл и получает из него определенные данные. Данные в основном текстовые, но при получении этих данных и выводе их я получаю числа. Если работать с предложенным примером на C, то все нормально. Как это решается ?



Отредактировано (Авг. 13, 2007 12:07:37)

Офлайн

#2 Авг. 13, 2007 12:45:54

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

траблы с ctypes

а пробовали сообщить ctypes, что функция возвращает указатель на char*?

а вообще на такой вопрос могут ответить только телепаты. мы ж не видим примера кода, так что толкового ответа будете ждать долго.



Офлайн

#3 Авг. 13, 2007 12:46:29

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

траблы с ctypes

как ей сообщить о типе char ?



Отредактировано (Авг. 13, 2007 12:47:06)

Офлайн

#4 Авг. 13, 2007 12:55:59

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

траблы с ctypes

курить доку насчет .restype



Офлайн

#5 Авг. 13, 2007 13:39:18

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

траблы с ctypes

bialix
а вообще на такой вопрос могут ответить только телепаты.
Значит с этим вопросом надо идти на ЛОР :)



Офлайн

#6 Авг. 13, 2007 15:07:15

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

траблы с ctypes

Спрашивать что либо на ЛОРе себе дороже.

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
Библиотека libgpx.so достает из бинарного файла определенный текст. Но данная программа выводит только числовые значение.



Офлайн

#7 Авг. 13, 2007 15:58:07

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

траблы с ctypes

адреса она тебе выдает. bialix правильно писал - restype. Типа lib.getTitle.restype = c_char_p. В простейшем случае - поможет.
И вообще, без приведения .h файла для этой загадочной библиотеки (или просто определений интересующих функций) все очень напоминает гадание.



Офлайн

#8 Авг. 13, 2007 16:23:11

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

траблы с ctypes

Точно, я просто не так до этого использовал restype. Спасибо



Офлайн

#9 Окт. 28, 2007 02:30:24

ph
От:
Зарегистрирован: 2007-10-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

траблы с ctypes

Насчет gp3
Есть такая программа на питоне написанная - songwrite
Это редактор таблатур с tk`шным интерфейсом, в нем есть функция импорта из некоторых форматов в т.ч. gp3(нативная, на питоне сделанная)
Можешь к нему подцепиться(он умеет преобразовывать в xml, например) или просто выдрать нужные функции.
А для чего тебе если не секрет?
Я вот делал аналог guitar pro и подобных на основе ajax, на основе songwrite сделал в нем импорт/экспорт из/в gtp и midi. Ну и воспроизведение(через midi)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version