Estoy creando algunos objetos a partir de archivos (validadores de archivos xsd de plantillas, para unir otros archivos xsd, como ocurre), y me gustaría recrear los objetos cuando el archivo en el disco cambia.Caché de archivos Python
que podría crear algo así como:
def getobj(fname, cache = {}):
try:
obj, lastloaded = cache[fname]
if lastloaded < last_time_written(fname):
# same stuff as in except clause
except KeyError:
obj = create_from_file(fname)
cache[fname] = (obj, currenttime)
return obj
Sin embargo, yo preferiría usar algún otro código de analizar si es que existe. ¿Hay una biblioteca existente que hace algo como esto?
Actualización: Estoy usando python 2.7.1.
Tenga en cuenta que en vez de repetir el código en la cláusula '' except' dentro de su declaración if', sólo podría aumentar 'KeyError()' en lugar. – Amber
¡Buen argumento predeterminado mutable! – katrielalex
@katrielalex ¡Gracias! – Marcin