En este tema, aprenderás cómo realizar operaciones básicas y avanzadas con archivos y directorios en Python. Trabajar con el sistema de archivos es una habilidad esencial para cualquier programador, ya que muchas aplicaciones necesitan leer, escribir y manipular archivos y directorios.
Contenido
Introducción a os y shutil
Python proporciona varios módulos para interactuar con el sistema de archivos. Los más comunes son os
y shutil
.
- os: Este módulo proporciona una forma portátil de usar funcionalidades dependientes del sistema operativo como leer o escribir en el sistema de archivos.
- shutil: Este módulo ofrece una interfaz de nivel superior para operaciones de archivos y colecciones de archivos.
Ejemplo Básico
import os import shutil # Obtener el directorio de trabajo actual current_directory = os.getcwd() print(f"Directorio de trabajo actual: {current_directory}") # Crear un nuevo directorio os.mkdir('nuevo_directorio') # Copiar un archivo shutil.copy('archivo_origen.txt', 'archivo_destino.txt')
Operaciones Básicas con Archivos
Leer y Escribir Archivos
Para leer y escribir archivos, Python proporciona funciones integradas como open()
, read()
, write()
, y close()
.
Leer un Archivo
# Abrir un archivo en modo lectura with open('archivo.txt', 'r') as file: contenido = file.read() print(contenido)
Escribir en un Archivo
# Abrir un archivo en modo escritura with open('archivo.txt', 'w') as file: file.write('Hola, Mundo!')
Eliminar Archivos
Operaciones Básicas con Directorios
Crear y Eliminar Directorios
Crear un Directorio
Eliminar un Directorio
Listar Contenidos de un Directorio
import os # Listar todos los archivos y directorios en el directorio actual contenido = os.listdir('.') print(contenido)
Manipulación Avanzada de Archivos y Directorios
Copiar y Mover Archivos
Copiar Archivos
Mover Archivos
import shutil # Mover un archivo shutil.move('archivo_origen.txt', 'nueva_ubicacion/archivo_origen.txt')
Copiar y Eliminar Directorios
Copiar Directorios
import shutil # Copiar un directorio y su contenido shutil.copytree('directorio_origen', 'directorio_destino')
Eliminar Directorios
Ejercicios Prácticos
Ejercicio 1: Crear y Listar Directorios
Instrucciones: Crea un directorio llamado mi_directorio
y luego lista todos los archivos y directorios en el directorio actual.
import os # Crear un nuevo directorio os.mkdir('mi_directorio') # Listar todos los archivos y directorios en el directorio actual contenido = os.listdir('.') print(contenido)
Ejercicio 2: Copiar y Mover Archivos
Instrucciones: Copia un archivo llamado archivo_origen.txt
a un nuevo archivo llamado archivo_copiado.txt
y luego mueve archivo_copiado.txt
a un directorio llamado mi_directorio
.
import shutil # Copiar el archivo shutil.copy('archivo_origen.txt', 'archivo_copiado.txt') # Mover el archivo copiado al nuevo directorio shutil.move('archivo_copiado.txt', 'mi_directorio/archivo_copiado.txt')
Ejercicio 3: Eliminar Archivos y Directorios
Instrucciones: Elimina el archivo archivo_copiado.txt
dentro de mi_directorio
y luego elimina el directorio mi_directorio
.
import os import shutil # Eliminar el archivo os.remove('mi_directorio/archivo_copiado.txt') # Eliminar el directorio os.rmdir('mi_directorio')
Conclusión
En esta sección, has aprendido cómo realizar operaciones básicas y avanzadas con archivos y directorios utilizando los módulos os
y shutil
en Python. Estas habilidades son fundamentales para cualquier programador, ya que permiten interactuar con el sistema de archivos de manera eficiente y efectiva. Asegúrate de practicar los ejercicios proporcionados para consolidar tu comprensión y estar preparado para el siguiente módulo.
Curso de Programación en Python
Módulo 1: Introducción a Python
- Introducción a Python
- Configuración del Entorno de Desarrollo
- Sintaxis de Python y Tipos de Datos Básicos
- Variables y Constantes
- Entrada y Salida Básica
Módulo 2: Estructuras de Control
- Sentencias Condicionales
- Bucles: for y while
- Herramientas de Control de Flujo
- Comprensiones de Listas
Módulo 3: Funciones y Módulos
- Definición de Funciones
- Argumentos de Función
- Funciones Lambda
- Módulos y Paquetes
- Visión General de la Biblioteca Estándar
Módulo 4: Estructuras de Datos
Módulo 5: Programación Orientada a Objetos
Módulo 6: Manejo de Archivos
- Lectura y Escritura de Archivos
- Trabajo con Archivos CSV
- Manejo de Datos JSON
- Operaciones de Archivos y Directorios
Módulo 7: Manejo de Errores y Excepciones
- Introducción a las Excepciones
- Manejo de Excepciones
- Lanzamiento de Excepciones
- Excepciones Personalizadas
Módulo 8: Temas Avanzados
- Decoradores
- Generadores
- Administradores de Contexto
- Concurrencia: Hilos y Procesos
- Asyncio para Programación Asíncrona
Módulo 9: Pruebas y Depuración
- Introducción a las Pruebas
- Pruebas Unitarias con unittest
- Desarrollo Guiado por Pruebas
- Técnicas de Depuración
- Uso de pdb para Depuración
Módulo 10: Desarrollo Web con Python
- Introducción al Desarrollo Web
- Fundamentos del Framework Flask
- Construcción de APIs REST con Flask
- Introducción a Django
- Construcción de Aplicaciones Web con Django
Módulo 11: Ciencia de Datos con Python
- Introducción a la Ciencia de Datos
- NumPy para Computación Numérica
- Pandas para Manipulación de Datos
- Matplotlib para Visualización de Datos
- Introducción al Aprendizaje Automático con scikit-learn