Bonjour,

J'ai un programme qui lit des fichiers TECPLOT (*.dat), et donc il lit des valeurs de maillages +variables différents sur plusieurs zones.( donc en gros il lit plusieurs matrices de données réelles ).
Pour chaque zone ( ou matrice) on met les valeurs dans une matrice zone ( détérminée par sa taille au préalable )
C'est la fonction loadPtFmt qui fait cela ( par zone ) ( on a une boucle while pr lire ttes les zones du fichier).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
zone = loadPtFmt( nVar, line, fich )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def loadPtFmt( nVar, line, fich ):
    # A FAIRE : METTRE DES GARDES FOUS
    dim = getDims(line)
    while dim[2] == 1 and dim[1] == 1 and dim[0] == 1 :
        line = fich.readline()
        dim = getDims(line)
    # A priori, on a bien maintenant la dimension de la zone.
    # Reste plus qu'a charger les differents champs :
    fields = N.empty(dim+[nVar], N.double)
    lgth = dim[0]*dim[1]*dim[2]*nVar
    fields.flat = N.fromfile(fich, dtype=N.double, count=lgth, sep=" ")
    fields = fields.transpose((2,1,0,3))
 
    return (STRUCTURED,fields)
Pour acceder aux dimensions de la matrice on fait un : zone[1].shape[0],zone[1].shape[1,zone[1].shape[02]

Ensuite on met toutes les zones ensemble dans une meme variable zones comme ceci :

zones.append((zoneTitle,)+zone)

Je voudrais acceder aux dimensions de chaque zone de zones, seulement je n'y arrive pas ! J'ai toujours la meme erreur : IndexError: list index out of range