Si has llegado hasta aquí, debe ser porque te interesa que nos facilita el uso de with en Python, al principio de un bloque de código.
Entonces, intentaré no defraudarte y explicártelo de forma sencilla.
with() es lo que se conoce como un manejador de contexto.
Al usar with() Python lo que hace abstraernos del código repetitivo ya que corre a cuenta de with cerrar el fichero después de ejecutarse el código que se encuentra en el interior del bloque, incluso si ocurre alguna excepción.
Como with() nos facilita las tareas repetitivas su efecto es similar a una bucle del tipo try-finally.
with open('hola.txt', 'r') as f:
for linea in f:
...
Esto equivaldría a algo así:
f = open('hola.txt', 'r')
try:
for linea in f:
...
finally:
f.close()
Por el uso tan amplio de Python es realmente necesario poder sumar y restar días en Python, y para eso podemos emplear la librería datetime.
En situaciones donde necesitamos llevar un seguimiento de la fecha y la hora, podemos emplear este modulo que es el encargado de de manipular fechas y horas, y está integrado en la biblioteca estándar de Python.
Las clases con las que cuenta el modulo son:
NOMBRE
DESCRIPCIÓN
1.
fecha
Muestra la fecha según el calendario georgiano con atributos como año, mes y día.
2.
hora
Muestra el tiempo, independientemente de cualquier día en particular, con atributos como hora, minuto, segundo, microsegundo y tzinfo.
3.
fecha y hora
Es una colección de fecha y hora con los atributos año, mes, día, hora, minuto, segundo, microsegundo y tzinfo.
Para sumar o restar fecha, usamos la función timedelta() ya que permite realizar operaciones aritméticas con las fecha como sumar o restar y es fácilmente implementable.