[Python3] ctype

Bonjour à tous,

J’ai fait un programme en python2 où j’importe un “.so” une bibliothèque de c qui permet d’utiliser ses fonctions en python.
Je souhaite réécrire mon programme en python3, et là, je n’arrive plus à importer cette biliothèque.
Du moins, j’y arrive, mais elle ne s’initialise pas :confused:

cdll.LoadLibrary("/usr/local/lib/toto.so") -> ok dll.Initialize("/usr/local/etc/toto/") -> pas content
Y’a t-il des gens qui ont rencontré le même problème?

Merci par avance.

Au fait, il s’agit d’une bibliothèque qui contrôle un oscilloscope usb. Depuis la nouvelle mouture de python3, y-a t-il des protocoles de communication qui ont changé?

résolu!
En fait, ca n’a rien à voir avec ctype, c’est juste qu’en python3, il ne faut pas confondre chaine et octet, ainsi il fallait mettre un “b” (byte) devant le chemin qui pointe vers la bibliothèque.

Franchement, qui a eu cette idée saugrenue de faire ça?

Salut,

C’est juste qu’en Python 3, “une chaîne” entre guillemets sans préfixes est de l’unicode (où en Python 2 il fallait explicitement préfixer de ‘u’). Pour une chaîne ASCII il faut la préfixer de ‘b’ comme tu l’as mentionné.
On peut en déduire également que la bibliothèque visée n’est pas compatible unicode :wink:

[quote=“Keldath”]Salut,

C’est juste qu’en Python 3, “une chaîne” entre guillemets sans préfixes est de l’unicode (où en Python 2 il fallait explicitement préfixer de ‘u’). Pour une chaîne ASCII il faut la préfixer de ‘b’ comme tu l’as mentionné.
On peut en déduire également que la bibliothèque visée n’est pas compatible unicode :wink:[/quote]
Ehe, je n’ai pas tilté, mais j’ai eu le même problème avec csv.reader qui attend le délimiteur en chaîne ascii (cf. ici en anglais) !

Je suis en python 2.7 mais j’utilise from __future__ import unicode_literals :wink:

Usti