Skip to content

Trabajando con archivos y directorios | Python

  1. Trabajando con archivos y directorios con Python¶
  2. Listado de archivos en un directorio¶
  3. Para buscar todos los archivos con una extensión, por ejemplo .jpg:
  4. import glob
  5. lista = glob.glob(“*.jpg”)
  6. Para listar todos los archivos de un directorio:
  7. import os
  8. ficheros = os.listdir(‘/home/alumno/ejercicios/python’) # linux
  9. ficheros = os.listdir(r‘c:Documents and SettingsalumnoEscritorioejerciciospython’) #windows: cuidado con el caracter
  10. Directorio actual:
  11. os.getcwd()
  12. os.curdir
  13. Tipos de ficheros¶
  14. print michero, ‘es un’,
  15. if os.path.isfile(mifichero):
  16.     print ‘fichero’
  17. if os.path.isdir(mifichero):
  18.     print ‘directorio’
  19. if os.path.islink(mifichero):
  20.     print ‘enlace’
  21. Último acceso a un fichero¶
  22. ultimo_acceso = os.path.getatime(‘foto.jpg’)
  23. ultima_modificacion = os.path.getmtime(‘foto.jpg’)
  24. tiempo_en_dias = (time.time()– ultimo_acceso)/ (60*60*24)
  25. print tiempo_en_dias
  26. Eliminar ficheros y directorios¶
  27. os.remove(‘mifoto.jpg’)
  28. for foto in glob.glob(‘*.jpg’) + glob.glob(‘*.tif’):
  29.     os.remove(foto)
  30. Eliminar directorio:
  31. import shutil
  32. shutil.rmtree(‘midirectorio’)
  33. Copiar y renombrar ficheros¶
  34. import shutil
  35. shutil.copy(mifichero, copiafichero)
  36. # copia también tiempo de último acceso y última modificación
  37. shutil.copy2(mifichero, copiafichero)
  38. # copia un árbol de directorios
  39. shutil.copytree(raiz_de_directorio, copia_directorio)
  40. Manipulando los paths y nombres¶
  41. Rutas
  42. >>> os.path.split(‘/home/alumno/python/ejercicios/ej1.py’)
  43. (‘/home/alumno/python/ejercicios’, ‘ej1.py’)
  44. >>> os.path.basename(‘/home/alumno/python/ejercicios/ej1.py’)
  45. ‘ej1.py’
  46. >>> os.path.dirname(‘/home/alumno/python/ejercicios/ej1.py’)
  47. ‘/home/alumno/python/ejercicios’
  48. Extensiones
  49. >>> os.path.splitext(‘pelicula.avi’)
  50. (‘pelicula’, ‘.avi’)
  51. Crear y moverse entre directorios¶
  52. directorioOriginal = os.getcwd()
  53. directorio = os.path.join(os.pardir, ‘miNuevoDir’)
  54. if not os.path.isdir(directorio):
  55.     os.mkdir(directorio)
  56. os.chdir(directorio)
  57. os.chdir(directorioOriginal) # vuelve al directorio inicial
  58. os.chdir(os.environ[‘HOME’]) # cambia al directorio home