IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaçage autre langage Python Discussion :

[swig] python->C->python, pointeur de fichier


Sujet :

Interfaçage autre langage Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [swig] python->C->python, pointeur de fichier
    Bonjour à tous,

    Me revoila avec une question sur l'interfacage Python/C. Je me pose une question quasi existancielle

    Description du problème

    J'ouvre un fichier en python, je transmet le pointeur de fichier à une fonction C (via typemap adequat) qui lit quelques octets par exemple, et qui retourne le pointeur à python...

    Question une fois dans python, je me retrouve au début du fichier ? ou alors à la dernière position du C ?

    Merci pour vos 'futurs' avis.

    PyBio.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Bon un petit problèle de + dans la lignée de mon post précédent:

    Je souhaite envoyer un objet file à une fonction C : fonction(FILE*...){...}

    Pour cela j'utilise le typemap visiblement standard:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    %typemap(python,in) FILE *{
    	if(!PyFile_Check($1)) {
    		PyErr_SetString(PyExc_TypeError, "Need a file!");
    		return NULL;
    	}
    	$result = PyFile_AsFile($1);
    }
    A la compilation j'obtiens ce type d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    extractseq_wrap.c:1519: error: 'struct __sFILE' has no member named 'ob_type'
    extractseq_wrap.c:1519: error: 'struct __sFILE' has no member named 'ob_type'
    Voici le morceau du _wrap.c:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        if(!PyArg_ParseTuple(args,(char *)"O:fileLength",&obj0)) goto fail;
        {
            if(!PyFile_Check(arg1)) { //---> ligne 1519.
                PyErr_SetString(PyExc_TypeError, "Need a file!");
                return NULL;
            }
            resultobj = PyFile_AsFile(arg1);
        }
        result = (int)fileLength(arg1);
     
        {
            resultobj = SWIG_From_int((int)(result)); 
        }
    Je ne vois absolument pas comment régler ce problème.

    Merci.
    PyBio.

Discussions similaires

  1. Réponses: 13
    Dernier message: 16/06/2010, 12h17
  2. Installer des bibliothèques pour python 2.4 avec python 2.5
    Par zabibof dans le forum Déploiement/Installation
    Réponses: 3
    Dernier message: 31/07/2008, 16h49
  3. Api python : charger un script python
    Par acieroid dans le forum C
    Réponses: 4
    Dernier message: 05/11/2007, 19h18
  4. Interpreter un script python dans un prog python
    Par romeo9423 dans le forum Général Python
    Réponses: 3
    Dernier message: 01/12/2005, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo