With ... as
La sentencia with ... as en Python se utiliza para gestionar recursos que deben abrirse y luego cerrarse, o configurarse y luego limpiarse, de manera automática como archivos, conexiones de red, bases de datos, entre otros.
su proceso seria:
- Configura el recurso (como abrir un archivo).
- Ejecuta un bloque de código que usa el recurso.
- Limpia todo al terminar el bloque, incluso si ocurre un error.
ejemplo esta en el siguiente tema "Archivos Externos"
Archivos Externos
Aqui el objetivo es la persistencia de datos o el guardar información de la aplicación
para esto tenemos 2 opciones: 1. Guardar en archivos externos 2. trabajar con bases de datos
Archivos Externos:
- existen 3 modos de abrir
- lectura "r" => da error si el archivo no existe
- escritura
w=> crea el archivo si no existe, borra el contenido si ya existe - append "a" => añade contenido sin borrar lo existente
- lectura y escritura "r+" =>(no borra el contenido, pero da error si el archivo no existe).
Crear y escribir en un archivo de texto
with open("archivo.txt", "w") as archivo:
archivo.write("¡Hola, Jordan!\n")
archivo.write("Este es un archivo de texto creado desde Python.\n")
Leer un archivo de texto
# Abrir el archivo en modo lectura ('r')
with open("archivo.txt", "r") as archivo:
contenido = archivo.read()
# Mostrar el contenido del archivo
print(contenido)
Añadir información a un archivo existente
# Abrir el archivo en modo de añadir ('a')
with open("archivo.txt", "a") as archivo:
archivo.write("Esta es una nueva línea añadida.\n")
Serialización
la serialización convierte datos en algo que pueda ser fácilmente guardado o enviado.
a) Serializar un objeto usando Pickle:
import pickle
# Un objeto Python (en este caso, un diccionario)
datosPersonales = {
"nombre": "Jordan",
"edad": 29,
"lenguajes": ["Python", "JavaScript"],
"casado": True
}
# Serializar el objeto con pickle
with open("datos.pkl", "wb") as archivo_pickle:
pickle.dump(datosPersonales, archivo_pickle)
print("Datos serializados con Pickle y guardados en archivo")
pickle.dump(objeto, archivo)serializa el objeto y lo guarda en un archivo binario. Usa el modo"wb"(write binary) para escribir el archivo.- crea el archivo si no esta creado
b) Deserializar un objeto desde Pickle:
import pickle
# Deserializar (cargar) el objeto desde el archivo pickle
with open("datos.pkl", "rb") as archivo_pickle:
datos_recuperados = pickle.load(archivo_pickle)
print("Datos deserializados desde Pickle:", datos_recuperados)
pickle.load(archivo)deserializa el objeto guardado en el archivo binario. Usa el modo"rb"(read binary) para leer el archivo.
(FALTA INFORMACION)