Hoy he estado todo el día laido con un problema con mi driver de la tarjeta de red y la nueva actualización de Windows y no me ha dado tiempo a hacer la entrada que tenia pensada para hoy referente a evento [RetroBarcelona] que se esta haciendo en Barcelona este fin de semana. Pero como igualmente iba a ser una entrada dedicada a la programación, hoy os voy a dar unos cuantos tips para trabajar con archivos y directorios. A mi me han ayudado mucho a trastear con Python y espero que a vosotros también os ayuden.
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
Fuente:
Sed Buenos ;)
No hay comentarios:
Publicar un comentario