Trabajando con archivos y directorios con Python¶ Listado de archivos en un directorio¶ Para buscar todos los archivos con una extensión, por ejemplo .jpg: import glob lista = glob.glob("*.jpg") Para listar todos los archivos de un directorio: import os ficheros = os.listdir('/home/alumno/ejercicios/python') # linux ficheros = os.listdir(r'c:Documents and SettingsalumnoEscritorioejerciciospython') #windows: cuidado con el caracter Directorio actual: os.getcwd() os.curdir Tipos de ficheros¶ print michero, 'es un', if os.path.isfile(mifichero): print 'fichero' if os.path.isdir(mifichero): print 'directorio' if os.path.islink(mifichero): print 'enlace' Último acceso a un fichero¶ ultimo_acceso = os.path.getatime('foto.jpg') ultima_modificacion = os.path.getmtime('foto.jpg') tiempo_en_dias = (time.time()- ultimo_acceso)/ (60*60*24) print tiempo_en_dias Eliminar ficheros y directorios¶ os.remove('mifoto.jpg') for foto in glob.glob('*.jpg') + glob.glob('*.tif'): os.remove(foto) Eliminar directorio: import shutil shutil.rmtree('midirectorio') Copiar y renombrar ficheros¶ import shutil shutil.copy(mifichero, copiafichero) # copia también tiempo de último acceso y última modificación shutil.copy2(mifichero, copiafichero) # copia un árbol de directorios shutil.copytree(raiz_de_directorio, copia_directorio) Manipulando los paths y nombres¶ Rutas >>> os.path.split('/home/alumno/python/ejercicios/ej1.py') ('/home/alumno/python/ejercicios', 'ej1.py') >>> os.path.basename('/home/alumno/python/ejercicios/ej1.py') 'ej1.py' >>> os.path.dirname('/home/alumno/python/ejercicios/ej1.py') '/home/alumno/python/ejercicios' Extensiones >>> os.path.splitext('pelicula.avi') ('pelicula', '.avi') Crear y moverse entre directorios¶ directorioOriginal = os.getcwd() directorio = os.path.join(os.pardir, 'miNuevoDir') if not os.path.isdir(directorio): os.mkdir(directorio) os.chdir(directorio) ... os.chdir(directorioOriginal) # vuelve al directorio inicial os.chdir(os.environ['HOME']) # cambia al directorio home