Bonjour,
J'ai un code qui génère une erreur de la forme suivante :
python2.7: Bad interpolation on P ��u=: Inappropriate ioctl for device
Elle n'est pas systématique et ne se produit que dans certains cas particuliers. Cependant, je n'arrive pas à mettre le doigt sur ce qui la cause dans mon code. Une recherche de cette erreur ne m'a pas vraiment aidé...
Je ne sais pas vraiment ce que je peux donner comme éléments techniques utiles pour expliquer le problème, voici quelques indications sur la structure du code.
- Depuis un script principal, je fais un appel à une instance d'une classe (je vais l'appeller classe1) sur laquelle sont exécutées successivement trois méthodes.
- La première initie les paramètres et, notamment, crée une liste d'instances d'une seconde classe (que je vais appeller classe2) avec des paramètres spécifiques pour chaque instance.
- La seconde fait un appel à une méthode des instances de la liste de classe2 utilisant les variables initiées précédemment.
- La troisième met en forme les résultats produits par l'appel à la méthode précédente et stockées dans des variables des instances de classe2.
- Dans la classe2, je fais appel à une librairie obspy (obspy.taup) pour effectuer un calcul de temps de trajet de signal sismique.
C'est depuis l'implémentation de cette librairie qu'est apparu ce problème. Auparavant le calcul se faisait via un appel à une librairie java (TauP).
Dans certains cas, lorsque j'ai 2 (ou plus) instances de la classe2 dans la liste, l'erreur est générée.
Elle n'est générée que pour certaines combinaisons d'instances de la classe2 et n'est pas générée si on fait appel indépendamment à chacune de ces instances.
C'est donc spécifiquement l'appel successif à la méthode sur la liste d'instances qui est la base de l'erreur.
Je ne comprends ce qu'il peut y avoir dans un appel à une méthode sur une liste d'instances d'une classe qui fait que cette erreur apparait ni ce que je peux faire pour identifier précisément dans mon code ce qui la cause et comment je peux le corriger.
Si quelqu'un peut m'aider sur ce point, je serais très reconnaissant. Je précise aussi au passage que mes connaissances en développement sont balbutiantes. J'ai une formation en géologie et une expérience professionnelle en administration système. Je commence à écrire du code seulement depuis quelques mois. Il se peut donc que je sois passé à côté de quelque chose de très évident ou que j'ai omis de faire certains tests qui peuvent paraître basiques.
Merci.
a+
Partager