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 34 35 36 37 38 39 40 41 42
| def loadHeaderFmt( fich ) :
titlePat= R.compile('TITLE *= *".*"') # Recherche d'un titre pour le fichier tecplot
varPat = R.compile('VARIABLES *=( *".*")*') # Search defined variables
zonePat = R.compile('ZONE') # Search Zone beginning
#strPat = R.compile('"[^"]*"') # Recherche d'une chaine de caractere entre double quotes
# ******************************************************************************************************
IPat = R.compile("[^a-z^A-Z]I *= *[0-9]*") # Pour rechercher le nombre de noeuds en I
JPat = R.compile("[^a-z^A-Z]J *= *[0-9]*") # Pour rechercher le nombre de noeuds en J
KPat = R.compile("[^a-z^A-Z]K *= *[0-9]*") # Pour rechercher le nombre de noeuds en K
strPat = R.compile('"[^"]*"') # Recherche d'une chaine de caractere entre double quotes
numPat = R.compile(" *[0-9][0-9]*") # Pour entier un nombre d'une chaine de caractere mixte
# ******************************************************************************************************
zoneStr = None
title = ""
variables = None
line = None
dim = []
while zoneStr == None :
line = fich.readline()
titleStr = titlePat.search(line)
varStr = varPat.search(line)
zoneStr = zonePat.search(line)
ImStr = IPat.search(line)
JmStr = JPat.search(line)
KmStr = KPat.search(line)
if titleStr != None :
title = eval(strPat.search(titleStr.group(0)).group(0))
if varStr != None :
variablesStr = strPat.findall(line)
variables = []
for s in variablesStr:
variables.append(eval(s))
if zoneStr != None :
if ImStr != None :
dim[2] = eval(numPat.search(ImStr.group(0)).group(0))
if JmStr != None :
dim[1] = eval(numPat.search(JmStr.group(0)).group(0))
if KmStr != None :
dim[0] = eval(numPat.search(KmStr.group(0)).group(0))
return (title,variables, line,dim) |