[pyar] Clasificando imagenes en el picasa
Pablo M. Mana
pablo.m.mana en gmail.com
Vie Mar 23 10:15:04 ART 2012
Hola:
El otro día sospechando una corrupción de la base de datos del picasa
la borre y los archivos ini que mete en cada directorio también.
Luego me puse a pensar que hacia para clasificar todo de nuevo, yo
tengo las fotos en carpetas con nombres del tipo "lugar o cosa que se
ve" - "fecha", aca va la solución que arme:
Los ini (.picasa.ini) tienen el siguiente formato:
[Picasa]
P2category=
El código que use es el siguiente:
import os
import re
def dirs_in_dir(basedir):
for basedir, dirname, filename in os.walk(basedir):
for dir in dirname:
yield os.path.join(basedir, dir)
def tag_in_dir(tagdir):
FILE = open(os.path.join(tagdir, filetag), "w")
FILE.write("[Picasa]" + "\n" + "P2category=" + picasa_tag)
FILE.close()
dirname = "D:\My Pictures" # Desde donde queremos categorizar
filetag = ".picasa.ini"
picasa_tag = # Ojo es case sensitive
dir_tag_00 =
dir_tag_01 =
dir_tag_02 =
dir_tag_03 =
dir_tag_04 =
dir_tag_05 =
dir_tag_06 =
dir_tag_07 =
dir_tag_08 =
dir_tag_09 =
dir_tag_10 =
dirnames = list(dirs_in_dir(dirname))
for dir in dirnames:
if re.search(dir_tag_00, dir): # uf que problema pavo con re.mach
tag_in_dir(dir)
elif re.search(dir_tag_01, dir):
tag_in_dir(dir)
elif re.search(dir_tag_02, dir):
tag_in_dir(dir)
elif re.search(dir_tag_03, dir):
tag_in_dir(dir)
elif re.search(dir_tag_04, dir):
tag_in_dir(dir)
elif re.search(dir_tag_05, dir):
tag_in_dir(dir)
elif re.search(dir_tag_06, dir):
tag_in_dir(dir)
elif re.search(dir_tag_07, dir):
tag_in_dir(dir)
elif re.search(dir_tag_08, dir):
tag_in_dir(dir)
elif re.search(dir_tag_09, dir):
tag_in_dir(dir)
No es gran cosa pero me ahorro mucho laburo, se podría mejorar
bastante pero no me hacia falta mas. Me impacto la funciona os.walk,
hace algunos años en otro lenguaje habia escrito bastante codigo para
hacer lo que hace.
Saludos.
Pablo M. Mana
More information about the pyar
mailing list