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
| #!/usr/bin/env python3
# coding: utf-8
files_list = (
"pression_mensuelle_un_nom_de_modele_version-197901_une-grille_197901-197903.nc",
"pression_mensuelle_un_nom_de_modele_version-197901_une-grille_197904-197906.nc",
"pression_mensuelle_un_nom_de_modele_version-197901_une-grille_197907-197909.nc",
"pression_journaliere_un_nom_de_modele_version-197901_une-grille_197901-197903.nc",
"pression_journaliere_un_nom_de_modele_version-197901_une-grille_197904-197906.nc",
"pression_journaliere_un_nom_de_modele_version-197901_une-grille_197907-197909.nc",
"temperature_mensuelle_un_nom_de_modele_version-197901_une-grille_197901-197903.nc",
"temperature_mensuelle_un_nom_de_modele_version-197901_une-grille_197904-197906.nc",
"temperature_mensuelle_un_nom_de_modele_version-197901_une-grille_197907-197909.nc",
"temperature_journaliere_un_nom_de_modele_version-197901_une-grille_197901-197903.nc",
"temperature_journaliere_un_nom_de_modele_version-197901_une-grille_197904-197906.nc",
"temperature_journaliere_un_nom_de_modele_version-197901_une-grille_197907-197909.nc",
"temperature_journaliere_un_nom_de_modele_version-197901_une-autre-grille_197901-197903.nc",
"temperature_journaliere_un_nom_de_modele_version-197901_une-autre-grille_197904-197906.nc",
"temperature_journaliere_un_nom_de_modele_version-197901_une-autre-grille_197907-197909.nc",
)
filtre="(?P<date_debut>\d{4}\d*)[-_](?P<date_fin>\d{4}\d*)"
info=("pression", "temperature")
frequence=("mensuelle", "journaliere")
grille=("une-grille", "une-autre-grille")
import itertools
import re
result=dict()
for (file, i, f, g) in itertools.product(files_list, info, frequence, grille):
key="%s_%s_un_nom_de_modele_version-197901_%s_%s.nc" % (i, f, g, filtre)
if re.match(key, file): result.setdefault(key, list()).append(file)
# for
for (k, v) in result.items():
print("%s: [%s]\n" % (k, "".join("\n\t%s" % x for x in v))) |
Partager