Menu iconMenu icon
Programación en Python Desbloqueada para Principiantes

Capítulo 6: Trabajando con Archivos

6.2: Reading and Writing Files

En esta sección, discutiremos diferentes formas de leer y escribir datos de y hacia archivos. Ya hemos visto cómo abrir un archivo y leer su contenido o escribir datos en él. Ahora, exploremos algunos méztodos adicionales que hacen que la lectura y escritura de archivos sea más eficiente y conveniente.

6.2.1: Lectura de archivos línea por línea:

La lectura de un archivo línea por línea es una tarea común, especialmente cuando se trata de archivos de texto grandes. Esto se puede hacer usando el método readline() o iterando a través del objeto de archivo.

Example:

with open("file.txt", "r") as file:
    for line in file:
        print(line.strip())

En este ejemplo, abrimos el archivo file.txt en modo de lectura y iteramos sobre cada línea usando un bucle for. El método strip() se utiliza para eliminar cualquier espacio en blanco inicial o final (como caracteres de nueva línea) de la línea antes de imprimirla.

6.2.2: Escritura de varias líneas a un archivo:

Cuando se escribe varias líneas en un archivo, se puede usar el método writelines(). Este método toma una lista de cadenas como entrada y las escribe en el archivo como líneas separadas.

Ejemplo:

lines = ["Line 1\n", "Line 2\n", "Line 3\n"]

with open("file.txt", "w") as file:
    file.writelines(lines)

In this example, we open the file in write mode and write the list of strings lines to the file using the writelines() method. Note that newline characters (\n) are added to the end of each string to ensure that each line is written on a new line.

6.2.3: Reading and writing binary files:

En ocasiones, es posible que necesites trabajar con archivos binarios, como imágenes o ejecutables. Para leer y escribir archivos binarios, debes abrir el archivo en modo binario agregando una "b" al parámetro de modo. Los métodos para leer y escribir siguen siendo los mismos, pero los datos se tratan como bytes en lugar de cadenas de texto.

Ejemplo:

# Copy a binary file
with open("source.jpg", "rb") as source_file:
    data = source_file.read()

with open("destination.jpg", "wb") as destination_file:
    destination_file.write(data)

En este ejemplo, abrimos un archivo binario (una imagen) en modo de lectura binaria, leemos su contenido y luego escribimos el contenido en un nuevo archivo binario en modo de escritura binaria.

En conclusión, Python ofrece una amplia gama de métodos para leer y escribir archivos. Estos métodos se pueden utilizar para manejar datos en múltiples formatos y para diversos propósitos, desde simples archivos de texto hasta complejas bases de datos.

Al dominar estas técnicas, podrá manipular datos de manera poderosa y agilizar sus tareas de programación. Además, las capacidades de manejo de archivos de Python no se limitan solo a leer y escribir datos.

También puede usar Python para crear, eliminar y modificar archivos, así como para administrar directorios y permisos de archivos. A medida que se vuelva más proficiente y cómodo con Python, sin duda descubrirá nuevas e innovadoras formas de utilizar sus funciones de manejo de archivos en sus proyectos de programación.

Ejercicio 6.2.1: Contar líneas en un archivo de texto

Instrucciones:

  1. Cree un archivo de texto llamado sample.txt con varias líneas de texto.
  2. Escriba un programa de Python para abrir el archivo, leer su contenido y contar el número de líneas.
  3. Imprima el número total de líneas.

Solución:

line_count = 0

with open("sample.txt", "r") as file:
    for line in file:
        line_count += 1

print(f"Total number of lines: {line_count}")

Salida:

Total number of lines: <number_of_lines_in_sample.txt>

Ejercicio 6.2.2: Invertir líneas en un archivo de texto

Ejercicio 6.2.2: Invertir líneas en un archivo de textoEn este ejercicio, leerá un archivo de texto, invertirá el orden de las líneas y escribirá el contenido invertido en un nuevo archivo de texto.

Instrucciones:

  1. Cree un archivo de texto llamado original.txt con varias líneas de texto.
  2. Escriba un programa de Python para abrir el archivo, leer su contenido e invertir el orden de las líneas.
  3. Escriba el contenido invertido en un nuevo archivo de texto llamado reversed.txt.

Solución:

with open("original.txt", "r") as original_file:
    lines = original_file.readlines()

lines.reverse()

with open("reversed.txt", "w") as reversed_file:
    reversed_file.writelines(lines)

Ejercicio 6.2.3: Leer y escribir un archivo binario

En este ejercicio, leerá un archivo binario (por ejemplo, una imagen) y escribirá su contenido en un nuevo archivo binario.

Instrucciones:

  1. Elija un archivo binario (por ejemplo, una imagen) llamado source.bin.
  2. Escriba un programa de Python para abrir el archivo binario, leer su contenido y escribir el contenido en un nuevo archivo binario llamado destination.bin.

Solución:

with open("source.bin", "rb") as source_file:
    data = source_file.read()

with open("destination.bin", "wb") as destination_file:
    destination_file.write(data)

Después de ejecutar el código de solución, debería encontrar un nuevo archivo binario llamado destination.bin en su directorio de trabajo, que es una copia exacta del archivo source.bin.

6.2: Reading and Writing Files

En esta sección, discutiremos diferentes formas de leer y escribir datos de y hacia archivos. Ya hemos visto cómo abrir un archivo y leer su contenido o escribir datos en él. Ahora, exploremos algunos méztodos adicionales que hacen que la lectura y escritura de archivos sea más eficiente y conveniente.

6.2.1: Lectura de archivos línea por línea:

La lectura de un archivo línea por línea es una tarea común, especialmente cuando se trata de archivos de texto grandes. Esto se puede hacer usando el método readline() o iterando a través del objeto de archivo.

Example:

with open("file.txt", "r") as file:
    for line in file:
        print(line.strip())

En este ejemplo, abrimos el archivo file.txt en modo de lectura y iteramos sobre cada línea usando un bucle for. El método strip() se utiliza para eliminar cualquier espacio en blanco inicial o final (como caracteres de nueva línea) de la línea antes de imprimirla.

6.2.2: Escritura de varias líneas a un archivo:

Cuando se escribe varias líneas en un archivo, se puede usar el método writelines(). Este método toma una lista de cadenas como entrada y las escribe en el archivo como líneas separadas.

Ejemplo:

lines = ["Line 1\n", "Line 2\n", "Line 3\n"]

with open("file.txt", "w") as file:
    file.writelines(lines)

In this example, we open the file in write mode and write the list of strings lines to the file using the writelines() method. Note that newline characters (\n) are added to the end of each string to ensure that each line is written on a new line.

6.2.3: Reading and writing binary files:

En ocasiones, es posible que necesites trabajar con archivos binarios, como imágenes o ejecutables. Para leer y escribir archivos binarios, debes abrir el archivo en modo binario agregando una "b" al parámetro de modo. Los métodos para leer y escribir siguen siendo los mismos, pero los datos se tratan como bytes en lugar de cadenas de texto.

Ejemplo:

# Copy a binary file
with open("source.jpg", "rb") as source_file:
    data = source_file.read()

with open("destination.jpg", "wb") as destination_file:
    destination_file.write(data)

En este ejemplo, abrimos un archivo binario (una imagen) en modo de lectura binaria, leemos su contenido y luego escribimos el contenido en un nuevo archivo binario en modo de escritura binaria.

En conclusión, Python ofrece una amplia gama de métodos para leer y escribir archivos. Estos métodos se pueden utilizar para manejar datos en múltiples formatos y para diversos propósitos, desde simples archivos de texto hasta complejas bases de datos.

Al dominar estas técnicas, podrá manipular datos de manera poderosa y agilizar sus tareas de programación. Además, las capacidades de manejo de archivos de Python no se limitan solo a leer y escribir datos.

También puede usar Python para crear, eliminar y modificar archivos, así como para administrar directorios y permisos de archivos. A medida que se vuelva más proficiente y cómodo con Python, sin duda descubrirá nuevas e innovadoras formas de utilizar sus funciones de manejo de archivos en sus proyectos de programación.

Ejercicio 6.2.1: Contar líneas en un archivo de texto

Instrucciones:

  1. Cree un archivo de texto llamado sample.txt con varias líneas de texto.
  2. Escriba un programa de Python para abrir el archivo, leer su contenido y contar el número de líneas.
  3. Imprima el número total de líneas.

Solución:

line_count = 0

with open("sample.txt", "r") as file:
    for line in file:
        line_count += 1

print(f"Total number of lines: {line_count}")

Salida:

Total number of lines: <number_of_lines_in_sample.txt>

Ejercicio 6.2.2: Invertir líneas en un archivo de texto

Ejercicio 6.2.2: Invertir líneas en un archivo de textoEn este ejercicio, leerá un archivo de texto, invertirá el orden de las líneas y escribirá el contenido invertido en un nuevo archivo de texto.

Instrucciones:

  1. Cree un archivo de texto llamado original.txt con varias líneas de texto.
  2. Escriba un programa de Python para abrir el archivo, leer su contenido e invertir el orden de las líneas.
  3. Escriba el contenido invertido en un nuevo archivo de texto llamado reversed.txt.

Solución:

with open("original.txt", "r") as original_file:
    lines = original_file.readlines()

lines.reverse()

with open("reversed.txt", "w") as reversed_file:
    reversed_file.writelines(lines)

Ejercicio 6.2.3: Leer y escribir un archivo binario

En este ejercicio, leerá un archivo binario (por ejemplo, una imagen) y escribirá su contenido en un nuevo archivo binario.

Instrucciones:

  1. Elija un archivo binario (por ejemplo, una imagen) llamado source.bin.
  2. Escriba un programa de Python para abrir el archivo binario, leer su contenido y escribir el contenido en un nuevo archivo binario llamado destination.bin.

Solución:

with open("source.bin", "rb") as source_file:
    data = source_file.read()

with open("destination.bin", "wb") as destination_file:
    destination_file.write(data)

Después de ejecutar el código de solución, debería encontrar un nuevo archivo binario llamado destination.bin en su directorio de trabajo, que es una copia exacta del archivo source.bin.

6.2: Reading and Writing Files

En esta sección, discutiremos diferentes formas de leer y escribir datos de y hacia archivos. Ya hemos visto cómo abrir un archivo y leer su contenido o escribir datos en él. Ahora, exploremos algunos méztodos adicionales que hacen que la lectura y escritura de archivos sea más eficiente y conveniente.

6.2.1: Lectura de archivos línea por línea:

La lectura de un archivo línea por línea es una tarea común, especialmente cuando se trata de archivos de texto grandes. Esto se puede hacer usando el método readline() o iterando a través del objeto de archivo.

Example:

with open("file.txt", "r") as file:
    for line in file:
        print(line.strip())

En este ejemplo, abrimos el archivo file.txt en modo de lectura y iteramos sobre cada línea usando un bucle for. El método strip() se utiliza para eliminar cualquier espacio en blanco inicial o final (como caracteres de nueva línea) de la línea antes de imprimirla.

6.2.2: Escritura de varias líneas a un archivo:

Cuando se escribe varias líneas en un archivo, se puede usar el método writelines(). Este método toma una lista de cadenas como entrada y las escribe en el archivo como líneas separadas.

Ejemplo:

lines = ["Line 1\n", "Line 2\n", "Line 3\n"]

with open("file.txt", "w") as file:
    file.writelines(lines)

In this example, we open the file in write mode and write the list of strings lines to the file using the writelines() method. Note that newline characters (\n) are added to the end of each string to ensure that each line is written on a new line.

6.2.3: Reading and writing binary files:

En ocasiones, es posible que necesites trabajar con archivos binarios, como imágenes o ejecutables. Para leer y escribir archivos binarios, debes abrir el archivo en modo binario agregando una "b" al parámetro de modo. Los métodos para leer y escribir siguen siendo los mismos, pero los datos se tratan como bytes en lugar de cadenas de texto.

Ejemplo:

# Copy a binary file
with open("source.jpg", "rb") as source_file:
    data = source_file.read()

with open("destination.jpg", "wb") as destination_file:
    destination_file.write(data)

En este ejemplo, abrimos un archivo binario (una imagen) en modo de lectura binaria, leemos su contenido y luego escribimos el contenido en un nuevo archivo binario en modo de escritura binaria.

En conclusión, Python ofrece una amplia gama de métodos para leer y escribir archivos. Estos métodos se pueden utilizar para manejar datos en múltiples formatos y para diversos propósitos, desde simples archivos de texto hasta complejas bases de datos.

Al dominar estas técnicas, podrá manipular datos de manera poderosa y agilizar sus tareas de programación. Además, las capacidades de manejo de archivos de Python no se limitan solo a leer y escribir datos.

También puede usar Python para crear, eliminar y modificar archivos, así como para administrar directorios y permisos de archivos. A medida que se vuelva más proficiente y cómodo con Python, sin duda descubrirá nuevas e innovadoras formas de utilizar sus funciones de manejo de archivos en sus proyectos de programación.

Ejercicio 6.2.1: Contar líneas en un archivo de texto

Instrucciones:

  1. Cree un archivo de texto llamado sample.txt con varias líneas de texto.
  2. Escriba un programa de Python para abrir el archivo, leer su contenido y contar el número de líneas.
  3. Imprima el número total de líneas.

Solución:

line_count = 0

with open("sample.txt", "r") as file:
    for line in file:
        line_count += 1

print(f"Total number of lines: {line_count}")

Salida:

Total number of lines: <number_of_lines_in_sample.txt>

Ejercicio 6.2.2: Invertir líneas en un archivo de texto

Ejercicio 6.2.2: Invertir líneas en un archivo de textoEn este ejercicio, leerá un archivo de texto, invertirá el orden de las líneas y escribirá el contenido invertido en un nuevo archivo de texto.

Instrucciones:

  1. Cree un archivo de texto llamado original.txt con varias líneas de texto.
  2. Escriba un programa de Python para abrir el archivo, leer su contenido e invertir el orden de las líneas.
  3. Escriba el contenido invertido en un nuevo archivo de texto llamado reversed.txt.

Solución:

with open("original.txt", "r") as original_file:
    lines = original_file.readlines()

lines.reverse()

with open("reversed.txt", "w") as reversed_file:
    reversed_file.writelines(lines)

Ejercicio 6.2.3: Leer y escribir un archivo binario

En este ejercicio, leerá un archivo binario (por ejemplo, una imagen) y escribirá su contenido en un nuevo archivo binario.

Instrucciones:

  1. Elija un archivo binario (por ejemplo, una imagen) llamado source.bin.
  2. Escriba un programa de Python para abrir el archivo binario, leer su contenido y escribir el contenido en un nuevo archivo binario llamado destination.bin.

Solución:

with open("source.bin", "rb") as source_file:
    data = source_file.read()

with open("destination.bin", "wb") as destination_file:
    destination_file.write(data)

Después de ejecutar el código de solución, debería encontrar un nuevo archivo binario llamado destination.bin en su directorio de trabajo, que es una copia exacta del archivo source.bin.

6.2: Reading and Writing Files

En esta sección, discutiremos diferentes formas de leer y escribir datos de y hacia archivos. Ya hemos visto cómo abrir un archivo y leer su contenido o escribir datos en él. Ahora, exploremos algunos méztodos adicionales que hacen que la lectura y escritura de archivos sea más eficiente y conveniente.

6.2.1: Lectura de archivos línea por línea:

La lectura de un archivo línea por línea es una tarea común, especialmente cuando se trata de archivos de texto grandes. Esto se puede hacer usando el método readline() o iterando a través del objeto de archivo.

Example:

with open("file.txt", "r") as file:
    for line in file:
        print(line.strip())

En este ejemplo, abrimos el archivo file.txt en modo de lectura y iteramos sobre cada línea usando un bucle for. El método strip() se utiliza para eliminar cualquier espacio en blanco inicial o final (como caracteres de nueva línea) de la línea antes de imprimirla.

6.2.2: Escritura de varias líneas a un archivo:

Cuando se escribe varias líneas en un archivo, se puede usar el método writelines(). Este método toma una lista de cadenas como entrada y las escribe en el archivo como líneas separadas.

Ejemplo:

lines = ["Line 1\n", "Line 2\n", "Line 3\n"]

with open("file.txt", "w") as file:
    file.writelines(lines)

In this example, we open the file in write mode and write the list of strings lines to the file using the writelines() method. Note that newline characters (\n) are added to the end of each string to ensure that each line is written on a new line.

6.2.3: Reading and writing binary files:

En ocasiones, es posible que necesites trabajar con archivos binarios, como imágenes o ejecutables. Para leer y escribir archivos binarios, debes abrir el archivo en modo binario agregando una "b" al parámetro de modo. Los métodos para leer y escribir siguen siendo los mismos, pero los datos se tratan como bytes en lugar de cadenas de texto.

Ejemplo:

# Copy a binary file
with open("source.jpg", "rb") as source_file:
    data = source_file.read()

with open("destination.jpg", "wb") as destination_file:
    destination_file.write(data)

En este ejemplo, abrimos un archivo binario (una imagen) en modo de lectura binaria, leemos su contenido y luego escribimos el contenido en un nuevo archivo binario en modo de escritura binaria.

En conclusión, Python ofrece una amplia gama de métodos para leer y escribir archivos. Estos métodos se pueden utilizar para manejar datos en múltiples formatos y para diversos propósitos, desde simples archivos de texto hasta complejas bases de datos.

Al dominar estas técnicas, podrá manipular datos de manera poderosa y agilizar sus tareas de programación. Además, las capacidades de manejo de archivos de Python no se limitan solo a leer y escribir datos.

También puede usar Python para crear, eliminar y modificar archivos, así como para administrar directorios y permisos de archivos. A medida que se vuelva más proficiente y cómodo con Python, sin duda descubrirá nuevas e innovadoras formas de utilizar sus funciones de manejo de archivos en sus proyectos de programación.

Ejercicio 6.2.1: Contar líneas en un archivo de texto

Instrucciones:

  1. Cree un archivo de texto llamado sample.txt con varias líneas de texto.
  2. Escriba un programa de Python para abrir el archivo, leer su contenido y contar el número de líneas.
  3. Imprima el número total de líneas.

Solución:

line_count = 0

with open("sample.txt", "r") as file:
    for line in file:
        line_count += 1

print(f"Total number of lines: {line_count}")

Salida:

Total number of lines: <number_of_lines_in_sample.txt>

Ejercicio 6.2.2: Invertir líneas en un archivo de texto

Ejercicio 6.2.2: Invertir líneas en un archivo de textoEn este ejercicio, leerá un archivo de texto, invertirá el orden de las líneas y escribirá el contenido invertido en un nuevo archivo de texto.

Instrucciones:

  1. Cree un archivo de texto llamado original.txt con varias líneas de texto.
  2. Escriba un programa de Python para abrir el archivo, leer su contenido e invertir el orden de las líneas.
  3. Escriba el contenido invertido en un nuevo archivo de texto llamado reversed.txt.

Solución:

with open("original.txt", "r") as original_file:
    lines = original_file.readlines()

lines.reverse()

with open("reversed.txt", "w") as reversed_file:
    reversed_file.writelines(lines)

Ejercicio 6.2.3: Leer y escribir un archivo binario

En este ejercicio, leerá un archivo binario (por ejemplo, una imagen) y escribirá su contenido en un nuevo archivo binario.

Instrucciones:

  1. Elija un archivo binario (por ejemplo, una imagen) llamado source.bin.
  2. Escriba un programa de Python para abrir el archivo binario, leer su contenido y escribir el contenido en un nuevo archivo binario llamado destination.bin.

Solución:

with open("source.bin", "rb") as source_file:
    data = source_file.read()

with open("destination.bin", "wb") as destination_file:
    destination_file.write(data)

Después de ejecutar el código de solución, debería encontrar un nuevo archivo binario llamado destination.bin en su directorio de trabajo, que es una copia exacta del archivo source.bin.