No hay rastro real del "tiempo creado" en la mayoría de OS/sistemas de ficheros: lo que se obtiene como mtime
es el una vez que un archivo o directorio fue modificado (por ejemplo, crear un archivo en un directorio actualiza el mtime del directorio) - y desde ctime
, cuando se ofrece, la hora del último cambio de inodo (s) o se actualizaría creando o eliminando un subdirectorio).
Suponiendo que está bien con, por ejemplo, "Última modificación" (y su uso del "creado" en la pregunta era sólo un error), se pueden encontrar (por ejemplo) todos los subdirectorios del directorio actual:
import os
all_subdirs = [d for d in os.listdir('.') if os.path.isdir(d)]
y obtener el que tiene la última -mtime (en Python 2.5 o mejor):
latest_subdir = max(all_subdirs, key=os.path.getmtime)
Si necesita operar en otro lugar que el directorio actual, que no es muy diferente, por ejemplo:
def all_subdirs_of(b='.'):
result = []
for d in os.listdir(b):
bd = os.path.join(b, d)
if os.path.isdir(bd): result.append(bd)
return result
la asignación latest_subdir
hace n ot cambio dado, como all_subdirs
, cualquier lista de rutas (ya sean rutas de directorios o archivos, esa llamada max
obtiene la más reciente).
Gracias Alex, que funciona perfectamente – chrissygormley