CURSO TUTORIAL PYTHON - 10) Archivos de texto en Python. OPEN. ESPAÑOL

 Tutorial para Principiantes: Archivos de Texto en Python

¡Hola! En este tutorial aprenderás a trabajar con archivos de texto en Python de forma sencilla y práctica.

📋 Tabla de Contenidos

  1. Abrir y Cerrar Archivos

  2. Modos de Apertura

  3. Leer Archivos

  4. Escribir en Archivos

  5. Manejo de Errores

  6. Ejercicios Prácticos

🔓 Abrir y Cerrar Archivos

Usando open() y close()

python
# Abrir un archivo
archivo = open("mi_archivo.txt", "r")  # "r" = modo lectura
# Trabajar con el archivo...
archivo.close()  # ¡Importante cerrarlo!

Usando with (RECOMENDADO)

python
# Se cierra automáticamente al salir del bloque
with open("mi_archivo.txt", "r") as archivo:
    # Trabajar con el archivo aquí
    contenido = archivo.read()
# El archivo se cierra automáticamente aquí

📂 Modos de Apertura

ModoSignificadoDescripción
rReadLectura (por defecto)
wWriteEscritura (sobrescribe)
aAppendAñadir al final
r+Read+WriteLectura y escritura
xCreateCrear archivo nuevo

📖 Leer Archivos

Leer todo el contenido

python
with open("ejemplo.txt", "r") as archivo:
    contenido = archivo.read()
    print(contenido)

Leer línea por línea

python
with open("ejemplo.txt", "r") as archivo:
    for linea in archivo:
        print(linea.strip())  # strip() quita saltos de línea

Leer todas las líneas en una lista

python
with open("ejemplo.txt", "r") as archivo:
    lineas = archivo.readlines()
    for linea in lineas:
        print(f"Línea: {linea.strip()}")

Leer una sola línea

python
with open("ejemplo.txt", "r") as archivo:
    primera_linea = archivo.readline()
    segunda_linea = archivo.readline()

✍️ Escribir en Archivos

Escribir sobrescribiendo (w)

python
with open("nuevo_archivo.txt", "w") as archivo:
    archivo.write("Hola, mundo!\n")
    archivo.write("Esta es la segunda línea\n")

Añadir contenido (a)

python
with open("nuevo_archivo.txt", "a") as archivo:
    archivo.write("Esta línea se añade al final\n")

Escribir múltiples líneas

python
lineas = ["Línea 1\n", "Línea 2\n", "Línea 3\n"]

with open("lista.txt", "w") as archivo:
    archivo.writelines(lineas)

🛡️ Manejo de Errores

Verificar si un archivo existe

python
import os

if os.path.exists("archivo.txt"):
    with open("archivo.txt", "r") as archivo:
        print(archivo.read())
else:
    print("El archivo no existe")

Manejar excepciones

python
try:
    with open("archivo_inexistente.txt", "r") as archivo:
        contenido = archivo.read()
except FileNotFoundError:
    print("Error: El archivo no existe")
except PermissionError:
    print("Error: No tienes permisos")
except Exception as e:
    print(f"Error inesperado: {e}")

💻 Ejercicios Prácticos

Ejercicio 1: Contador de líneas y palabras

python
def contar_lineas_palabras(nombre_archivo):
    try:
        with open(nombre_archivo, "r") as archivo:
            lineas = archivo.readlines()
            num_lineas = len(lineas)
            num_palabras = sum(len(linea.split()) for linea in lineas)
            
            print(f"El archivo tiene {num_lineas} líneas y {num_palabras} palabras")
    
    except FileNotFoundError:
        print("El archivo no existe")

# Usar la función
contar_lineas_palabras("ejemplo.txt")

Ejercicio 2: Diario personal

python
def escribir_diario():
    fecha = input("Ingresa la fecha (dd/mm/aaaa): ")
    entrada = input("Escribe tu entrada de diario: ")
    
    with open("mi_diario.txt", "a") as diario:
        diario.write(f"{fecha}: {entrada}\n")
    print("¡Entrada guardada!")

def leer_diario():
    try:
        with open("mi_diario.txt", "r") as diario:
            print("\n--- MI DIARIO ---")
            print(diario.read())
    except FileNotFoundError:
        print("Aún no tienes entradas en el diario")

# Probar las funciones
escribir_diario()
leer_diario()

Ejercicio 3: Copiar archivo

python
def copiar_archivo(origen, destino):
    try:
        with open(origen, "r") as archivo_origen:
            contenido = archivo_origen.read()
        
        with open(destino, "w") as archivo_destino:
            archivo_destino.write(contenido)
        
        print(f"Archivo copiado de {origen} a {destino}")
    
    except FileNotFoundError:
        print("El archivo origen no existe")

# Usar la función
copiar_archivo("original.txt", "copia.txt")

🎯 Consejos Importantes

  1. Siempre usa with: Evita olvidar cerrar archivos

  2. Maneja errores: Usa try-except para archivos que pueden no existir

  3. Codificación: Si tienes problemas con acentos, usa encoding="utf-8"

    python
    with open("archivo.txt", "r", encoding="utf-8") as archivo:
  4. Rutas relativas: Los archivos se buscan en la carpeta del script

🚀 Próximos Pasos

¡Felicidades! Ahora sabes trabajar con archivos de texto en Python. Practica con estos ejercicios y experimenta creando tus propios programas.

¿Tienes alguna pregunta? ¡Sigue practicando y verás lo útil que es manejar archivos!






Leer y Escribir Ficheros de Texto en Python 🐍

¡Bueno chavales! En este tutorial vamos a ver cómo escribir y leer ficheros de texto desde Python. ¡Vamos a ello!

📁 Primero: La Lectura de Ficheros

Paso 1: Crear un archivo de ejemplo

Vamos al escritorio y creamos un nuevo documento de texto llamado leer.txt. Dentro escribimos:

text
esto es la línea 1
esto es la línea 2
esta es la última línea

Paso 2: Leer el archivo completo en Python

python
# Abrimos el archivo
archivo = open("leer.txt", "r")  # "r" = read (lectura)

# Leemos todo el contenido
contenido = archivo.read()
print(contenido)

# ¡IMPORTANTE! Cerrar el archivo
archivo.close()

Resultado:

text
esto es la línea 1
esto es la línea 2
esta es la última línea

Paso 3: Leer línea por línea

python
archivo = open("leer.txt", "r")

# Leemos la primera línea
linea1 = archivo.readline()
print(linea1)

# Leemos la segunda línea
linea2 = archivo.readline()
print(linea2)

archivo.close()

💡 Importante: El \n que ves al final es el salto de línea. Si no lo quieres, usa .strip():

python
print(linea1.strip())  # Esto quita el \n

✍️ Segundo: La Escritura de Ficheros

Paso 1: Escribir en un archivo nuevo

python
# Abrimos el archivo en modo escritura ("w")
archivo = open("escribir.txt", "w")  # "w" = write (escritura)

# Escribimos líneas
archivo.write("esto es la línea 1\n")
archivo.write("esto es la línea 2\n")
archivo.write("esta va a ser la última\n")

# Cerramos el archivo
archivo.close()

Paso 2: Verificamos el resultado

Si vamos al escritorio, veremos el archivo escribir.txt con todo lo que escribimos.

🚀 Método RECOMENDADO: Usando with

Chavales, esto es importante: En lugar de usar open() y close() manualmente, es mejor usar with:

Lectura con with:

python
with open("leer.txt", "r") as archivo:
    contenido = archivo.read()
    print(contenido)
# El archivo se cierra AUTOMÁTICAMENTE aquí

Escritura con with:

python
with open("escribir.txt", "w") as archivo:
    archivo.write("Línea 1\n")
    archivo.write("Línea 2\n")
# Se cierra solo - ¡no te olvidarás!

📚 Resumen de Comandos Básicos

Para leer:

  • read() - Lee todo el archivo

  • readline() - Lee una línea

  • readlines() - Lee todas las líneas en una lista

Para escribir:

  • write("texto") - Escribe texto

  • writelines(lista) - Escribe varias líneas

🎯 Ejemplos Prácticos que Podéis Probar

Ejemplo 1: Contar líneas de un archivo

python
with open("leer.txt", "r") as archivo:
    lineas = archivo.readlines()
    print(f"El archivo tiene {len(lineas)} líneas")

Ejemplo 2: Crear un archivo CSV (como mencioné al final)

python
with open("datos.csv", "w") as archivo:
    archivo.write("Nombre,Edad,Ciudad\n")
    archivo.write("Juan,25,Madrid\n")
    archivo.write("Maria,30,Barcelona\n")

⚠️ Consejos Importantes

  1. Siempre cerrad los archivos - O mejor usad with

  2. Modos de apertura:

    • "r" - Lectura (read)

    • "w" - Escritura (sobrescribe)

    • "a" - Añadir al final (append)

  3. El archivo y el script deben estar en la misma carpeta - Si no, poned la ruta completa

🎉 ¡Y eso es todo chavales!

Con esto ya sabéis lo básico para trabajar con ficheros de texto en Python. Os animo a que probéis con diferentes extensiones como CSV, JSON, etc.




Comentarios

Entradas populares de este blog

¿Qué es un Closure?

4 tipos de colecciones de datos más

Calculadora de edad