{}const=>[]async()letfn</>var
DesarrolloPythonFundamentos

Trabajar con archivos en Python: una guía completa para principiantes

Aprende a leer, escribir y administrar archivos en Python. Guía detallada con ejemplos de código: apertura de archivos, lectura y escritura de datos, trabajo con CSV y JSON, gestión de errores. Ideal para principiantes en programación.

К

Kodik

Autor

4 min de lectura

Abrir archivos

Para trabajar con archivos en Python, se utiliza la función integrada open(). Sintaxis básica:

file = open('filename.txt', 'mode')

Modos principales de apertura:

  • 'r' — lectura (read). El archivo debe existir

  • 'w' — escribir (write). Crea un nuevo archivo o sobrescribe uno existente

  • 'a' — añadir (append). Añade datos al final del archivo

  • 'r+' — lectura y escritura

  • 'b' — modo binario (por ejemplo, 'rb' o 'wb')

🔥 100.000+ estudiantes ya están con nosotros

¿Cansado de leer teoría?
¡Hora de programar!

Kodik — una app donde aprendes a programar con práctica. Mentor IA, lecciones interactivas, proyectos reales.

🤖 IA 24/7
🎓 Certificados
💰 Gratis
🚀 Empezar
Se unieron hoy

Lectura de archivos

Lectura de todo el contenido:

with open('example.txt', 'r', encoding='utf-8') as file:
    content = file.read()
    print(content)

Lectura línea por línea:

with open('example.txt', 'r', encoding='utf-8') as file:
    for line in file:
        print(line.strip())  # strip() elimina los caracteres de salto de línea

Leer todas las líneas de la lista:

with open('example.txt', 'r', encoding='utf-8') as file:
    lines = file.readlines()
    print(lines)

Grabación en archivos

Grabación de texto (sobrescribir archivo):

with open('output.txt', 'w', encoding='utf-8') as file:
    file.write('Hello world!\n')
    file.write('This is the second line.')

Añadir texto al final del archivo:

with open('output.txt', 'a', encoding='utf-8') as file:
    file.write('\nAdditional line')

Registro de la lista de líneas:

lines = ['First line\n', 'Second line\n', 'Third line\n']
with open('output.txt', 'w', encoding='utf-8') as file:
    file.writelines(lines)

Diseño con

Usar with es una buena práctica cuando se trabaja con archivos. Cierra automáticamente el archivo después de ejecutar el bloque de código, incluso si se produce un error.

Sin with (no recomendado):

file = open('example.txt', 'r')
content = file.read()
file.close()  # ¡No olvides cerrar el archivo!

Con (recomendado):

with open('example.txt', 'r') as file:
    content = file.read()
# El archivo se cierra automáticamente después de salir del bloque

Trabajar con rutas de archivos

Para trabajar cómodamente con las rutas, utiliza el módulo pathlib:

from pathlib import Path

# Creación de una ruta
file_path = Path('folder') / 'subfolder' / 'file.txt'

# Verificación de la existencia
if file_path.exists():
    print('File exists')

# Lectura de archivo
content = file_path.read_text(encoding='utf-8')

# Grabación en archivo
file_path.write_text('New content', encoding='utf-8')

Tratamiento de errores

Al trabajar con archivos, es importante procesar posibles errores:

try:
    with open('nonexistent.txt', 'r', encoding='utf-8') as file:
        content = file.read()
except FileNotFoundError:
    print('File not found')
except PermissionError:
    print('No access rights to the file')
except Exception as e:
    print(f'An error occurred: {e}')

Trabajar con archivos CSV

Python tiene un módulo integrado csv para trabajar con archivos CSV:

import csv

# Lectura de CSV
with open('data.csv', 'r', encoding='utf-8') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

# Registro CSV
data = [
    ['Name', 'Age', 'City'],
    ['Alexey', '25', 'Moscow'],
    ['Maria', '30', 'St. Petersburg']
]

with open('output.csv', 'w', encoding='utf-8', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

Trabajar con archivos JSON

Para trabajar con JSON, se utiliza el módulo json:

import json

# Lectura de JSON
with open('data.json', 'r', encoding='utf-8') as file:
    data = json.load(file)
    print(data)

# Registro JSON
data = {
    'name': 'Ivan',
    'age': 28,
    'skills': ['Python', 'JavaScript']
}

with open('output.json', 'w', encoding='utf-8') as file:
    json.dump(data, file, ensure_ascii=False, indent=4)

Ejemplos prácticos

Recuento del número de líneas en el archivo:

with open('example.txt', 'r', encoding='utf-8') as file:
    line_count = sum(1 for line in file)
    print(f'Number of lines: {line_count}')

Buscar palabra en archivo:

search_word = 'Python'
with open('example.txt', 'r', encoding='utf-8') as file:
    for line_number, line in enumerate(file, 1):
        if search_word in line:
            print(f'Found in line {line_number}: {line.strip()}')

Copiando archivo:

with open('source.txt', 'r', encoding='utf-8') as source:
    with open('destination.txt', 'w', encoding='utf-8') as destination:
        destination.write(source.read())

Consejos útiles

Indica siempre la codificación. Utilice encoding='utf-8' para trabajar correctamente con el texto ruso.

Utiliza with para cerrar archivos automáticamente. Esto evita fugas de recursos y pérdida de datos.

Gestiona las excepciones. Es posible que los archivos no existan, estén bloqueados o que no tengas permisos de acceso.

Compruebe la existencia de los archivos. Antes de leer, asegúrese de que el archivo exista usando Path.exists() o manejo de excepciones.

Ten cuidado con los archivos grandes. El método read() carga todo el archivo en la memoria. Para archivos grandes, es mejor leer línea por línea.

Conclusión

Trabajar con archivos en Python es simple e intuitivo. Principios básicos: usa la construcción with, no olvides el manejo de errores y elige el modo de apertura de archivo correcto. Con estos conocimientos, ¡ya puedes trabajar eficazmente con archivos en tus proyectos!

Kodik es una comunidad amigable de desarrolladores donde todos pueden aprender a programar, compartir experiencias y recibir apoyo de personas de ideas afines. Hemos creado un espacio donde los principiantes se sienten cómodos haciendo cualquier pregunta, y los programadores experimentados están felices de compartir sus conocimientos y ayudar a crecer.

Únete a Kodik — ¡aquí es más fácil escribir código y el aprendizaje se desarrolla en un ambiente de ayuda mutua e inspiración!

🎯Deja de postergar

¿Te gustó el artículo?
¡Hora de practicar!

En Kodik no solo lees — escribes código de inmediato. Teoría + práctica = habilidades reales.

Práctica instantánea
🧠IA explica código
🏆Certificado

Sin registro • Sin tarjeta