2012-06-09 14 views
9

Por ejemplo,¿Cómo se leen los atributos de los archivos en el directorio?

import os 
print os.listdir() 

archivos de lista en el directorio.

¿Cómo obtener tiempo de modificación de archivos para todos los archivos en el directorio?

+0

posible duplicado de [? Como llegar creación del archivo y la fecha de modificación/veces en Python] (http://stackoverflow.com/questions/237079/how-to-get-file-creation-modification-date-times-in-python) –

Respuesta

28

Utilice la llamada os.stat para obtener propiedades de archivo como la hora de modificación.

import os 
for filename in os.listdir(): 
    info = os.stat(filename) 
    print info.st_mtime 

st_mtime es un valor flotante en pitón 2.5 y arriba, que representa segundos desde la época; utilice los módulos time o datetime para interpretarlos con fines de visualización o similares.

tenga en cuenta que la precisión del valor depende del sistema operativo que esté utilizando:

El significado exacto y la resolución de los st_atime, st_mtime y atributos st_ctime dependen del sistema operativo y el sistema de archivos. Por ejemplo, en los sistemas Windows que usan los sistemas de archivos FAT o FAT32, st_mtime tiene una resolución de 2 segundos y st_atime solo tiene una resolución de 1 día. Consulte la documentación de su sistema operativo para más detalles.

Si todo lo que hace es obtener el tiempo de modificación, entonces el método os.path.getmtime es un atajo útil; usa el método os.stat debajo del capó.

Nota sin embargo, que la llamada os.stat es relativamente caro (el acceso al sistema de archivos), así que si usted hace esto en una gran cantidad de archivos, y que necesita más de un punto de datos por archivo, usted es mejor usar os.stat y reutilizar el información devuelta en lugar de usar los métodos de conveniencia os.path donde se llamará os.stat varias veces por archivo.

3

Si solo quiere la hora modificada, entonces os.path.getmtime(filename) la obtendrá por usted. Si está utilizando listdir con un argumento, tendrá que utilizar también os.path.join:

import os, os.path 

for filename in os.listdir(SOME_DIR): 
    print os.path.getmtime(os.path.join(SOME_DIR, filename)) 
Cuestiones relacionadas