Curso de Python3 - Lectura y Escritura de Archivos
Lectura de archivos
Python nos brinda varias formas de leer archivos. Una de las formas más comunes es mediante el uso de la función open()
que nos permite abrir un archivo en modo lectura.
Ejemplo de lectura de archivo:
with open('archivo.txt', 'r') as file:
contenido = file.read()
print(contenido)
Prueba Unitaria:
def test_lectura_archivo():
with open('archivo.txt', 'r') as file:
contenido = file.read()
assert contenido == "Este es el contenido del archivo"
Escritura de archivos
Para escribir en un archivo, utilizamos el modo de apertura 'w'
al abrir el archivo.
Ejemplo de escritura de archivo:
with open('archivo.txt', 'w') as file:
file.write('Este es un nuevo contenido')
Prueba Unitaria:
def test_escritura_archivo():
with open('archivo.txt', 'w') as file:
file.write('Este es un nuevo contenido')
with open('archivo.txt', 'r') as file:
contenido = file.read()
assert contenido == "Este es un nuevo contenido"
Agregar contenido a un archivo
Si queremos agregar contenido a un archivo existente en lugar de sobrescribirlo, utilizamos el modo 'a'
al abrir el archivo.
Ejemplo de agregado de contenido a archivo:
with open('archivo.txt', 'a') as file:
file.write('\nEste es un contenido adicional')
Prueba Unitaria:
def test_agregar_contenido_archivo():
with open('archivo.txt', 'a') as file:
file.write('\nEste es un contenido adicional')
with open('archivo.txt', 'r') as file:
contenido = file.read()
assert contenido == "Este es un nuevo contenido\nEste es un contenido adicional"
Lectura de archivos en modo binario
Si necesitamos leer un archivo binario como una imagen, utilizamos el modo 'rb'
al abrir el archivo.
Ejemplo de lectura de archivo binario:
with open('imagen.jpg', 'rb') as file:
contenido = file.read()
# aquí podemos realizar operaciones con el contenido binario
Prueba Unitaria:
def test_lectura_archivo_binario():
with open('imagen.jpg', 'rb') as file:
contenido = file.read()
assert len(contenido) > 0
Lectura y Escritura de Archivos JSON
El formato JSON es muy utilizado para almacenar y transmitir datos estructurados. Python proporciona una manera sencilla de trabajar con archivos JSON utilizando la librería json
.
Ejemplo de lectura de archivo JSON:
import json
with open('datos.json', 'r') as file:
datos = json.load(file)
print(datos)
Prueba Unitaria:
import json
def test_lectura_archivo_json():
with open('datos.json', 'r') as file:
datos = json.load(file)
assert isinstance(datos, dict)
Ejemplo de escritura de archivo JSON:
import json
datos = {
"nombre": "Juan",
"edad": 26,
"ciudad": "Buenos Aires"
}
with open('datos.json', 'w') as file:
json.dump(datos, file)
Prueba Unitaria:
import json
def test_escritura_archivo_json():
datos = {
"nombre": "Juan",
"edad": 26,
"ciudad": "Buenos Aires"
}
with open('datos.json', 'w') as file:
json.dump(datos, file)
with open('datos.json', 'r') as file:
contenido = json.load(file)
assert contenido == datos
Cierre de archivos
Es importante recordar que al abrir un archivo, debemos cerrarlo para liberar los recursos del sistema. Sin embargo, en Python podemos utilizar el bloque with
que se encarga automáticamente de cerrar el archivo al salir del bloque.
Ejemplo de apertura y cierre de archivo:
with open('archivo.txt', 'r') as file:
contenido = file.read()
print(contenido)
# Aquí el archivo ya se ha cerrado automáticamente