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

Python Discussion :

Problème de classe


Sujet :

Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 70
    Par défaut Problème de classe
    Bonjour,

    Voilà j'ai une erreur qui apparait dans mon code mais je ne comprends pas ce qu'elle fait là donc je viens solliciter votre aide bienveillante !
    Voilà mon programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    class ConteneurPaquet:
        def __init__(self, path_fichier_tsv):
            print path_fichier_tsv
            tsvparser.TsvParser(path_fichier_tsv)
        def __call__(self):
            return '__call__'
     
    class Calcul:
        def __init__(self):
            self.GoCalc()
        def GoCalc(self):
            TM = Conteneur()
     
            RepertoireCourant = "D:\Documents and Settings\olivetr\My Documents\Test_calc"
            RepertoireCourant = os.path.normpath(RepertoireCourant)
            print RepertoireCourant
            entrees = os.listdir(RepertoireCourant)
            print entrees
            prefixeTM = 'JAS1_HKTMR_2009_01'
            liste = []
            # On liste tous les paquets décommutés (fichier tsv créé)
            for nf in entrees:
                nfc = os.path.join(RepertoireCourant, nf)
                #Si le fichier existe et si son extension est en .tsv
                if os.path.isfile(nfc) and os.path.splitext(nfc)[-1]==".tsv":
                    liste.append(nfc)
                    # « liste » liste tous les fichiers tsv dans le répertoire courant
            # il faut maintenant repérer le nom du paquet !
            for path_tsv in liste :
                tsv = os.path.basename(path_tsv)
                tsv = os.path.splitext(tsv)[0]
                tsv = tsv.split(prefixeTM+'_')[-1]
                exec compile( 'TM.'+tsv+'=ConteneurPaquet('+str(path_tsv)+')', '', 'exec' )
    Le problème réside sur cette ligne de calcul :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec compile( 'TM.'+tsv+'=ConteneurPaquet('+str(path_tsv)+')', '', 'exec' )
    Message d'erreur :
    File "C:\Program Files\Eclipse\wokspace\Calc\src\Test.py", line 57, in GoCalc
    exec compile( 'TM.'+tsv+'=ConteneurPaquet('+str(path_tsv)+')', '', 'exec' )
    File "", line 1
    TM.TCCANCELREP=ConteneurPaquet(D:\Documents and Settings\olivetr\My Documents\Test_calc\JAS1_HKTMR_2009_01_TCCANCELREP.tsv)
    ^
    SyntaxError: invalid syntax

    Le petit chapeau pointe sur le ':' de D:

    Pourtant je ne lui demande que de passer en argument le path du fichier tsv en cours d'analyse mais il me met une erreur de syntaxe sans comprendre ce qu'elle fait là.

    Si vous pouviez m'aider ce serait sympas !
    Merfi d'avance

    TeqPAF

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 126
    Par défaut
    Bonjour,

    Je pense que le problème est peut être juste dans la gestion du backslash dans ta chaîne de caractères :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RepertoireCourant = "D:\\Documents and Settings\\olivetr\\My Documents\\Test_calc"
    Tiens moi au courant,
    A+,
    A.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 70
    Par défaut
    Merci d'avoir pris le temps de voir ou était mon problème...
    Ce n'était finalement pas un problème de gestion des '\' mais à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec compile( 'TM.'+tsv+'=ConteneurPaquet('+str(path_tsv)+')', '', 'exec' )
    il fallait juste remplacer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec compile( 'TM.'+tsv+'=ConteneurPaquet('+"'"+str(path_tsv)+"'"+')', '', 'exec' )
    Et donc introduire des " " de chaque coté du path_tsv...

    Merci en tout cas

    TeqPAF

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de classe.
    Par maminova77 dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2006, 21h39
  2. Problème sur classe Transformer avec les <!--
    Par tykool dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/01/2006, 10h20
  3. Problème de classe
    Par DeusXL dans le forum DirectX
    Réponses: 15
    Dernier message: 04/12/2005, 14h37
  4. Problème de classe
    Par tidou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/10/2005, 17h49
  5. [FLASH MX2004] Problème de classe
    Par JulPoWeR dans le forum Flash
    Réponses: 1
    Dernier message: 10/07/2005, 22h51

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