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:
- Cree un archivo de texto llamado
sample.txt
con varias líneas de texto. - Escriba un programa de Python para abrir el archivo, leer su contenido y contar el número de líneas.
- 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:
- Cree un archivo de texto llamado
original.txt
con varias líneas de texto. - Escriba un programa de Python para abrir el archivo, leer su contenido e invertir el orden de las líneas.
- 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:
- Elija un archivo binario (por ejemplo, una imagen) llamado
source.bin
. - 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:
- Cree un archivo de texto llamado
sample.txt
con varias líneas de texto. - Escriba un programa de Python para abrir el archivo, leer su contenido y contar el número de líneas.
- 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:
- Cree un archivo de texto llamado
original.txt
con varias líneas de texto. - Escriba un programa de Python para abrir el archivo, leer su contenido e invertir el orden de las líneas.
- 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:
- Elija un archivo binario (por ejemplo, una imagen) llamado
source.bin
. - 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:
- Cree un archivo de texto llamado
sample.txt
con varias líneas de texto. - Escriba un programa de Python para abrir el archivo, leer su contenido y contar el número de líneas.
- 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:
- Cree un archivo de texto llamado
original.txt
con varias líneas de texto. - Escriba un programa de Python para abrir el archivo, leer su contenido e invertir el orden de las líneas.
- 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:
- Elija un archivo binario (por ejemplo, una imagen) llamado
source.bin
. - 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:
- Cree un archivo de texto llamado
sample.txt
con varias líneas de texto. - Escriba un programa de Python para abrir el archivo, leer su contenido y contar el número de líneas.
- 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:
- Cree un archivo de texto llamado
original.txt
con varias líneas de texto. - Escriba un programa de Python para abrir el archivo, leer su contenido e invertir el orden de las líneas.
- 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:
- Elija un archivo binario (por ejemplo, una imagen) llamado
source.bin
. - 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
.