In [11]:
from io import open
import pickle
class Pelicula:
# Constructor de clase
def __init__(self, titulo, duracion, lanzamiento):
self.titulo = titulo
self.duracion = duracion
self.lanzamiento = lanzamiento
print('Se ha creado la película:',self.titulo)
def __str__(self):
return '{} ({})'.format(self.titulo, self.lanzamiento)
class Catalogo:
peliculas = []
# Constructor de clase
def __init__(self):
self.cargar()
def agregar(self,p):
self.peliculas.append(p)
self.guardar()
def mostrar(self):
if len(self.peliculas) == 0:
print("El catálogo está vacío")
return
for p in self.peliculas:
print(p)
def cargar(self):
fichero = open('catalogo.pckl', 'ab+')
fichero.seek(0)
try:
self.peliculas = pickle.load(fichero)
except:
print("El fichero está vacío")
finally:
fichero.close()
del(fichero)
print("Se han cargado {} películas".format( len(self.peliculas) ))
def guardar(self):
fichero = open('catalogo.pckl', 'wb')
pickle.dump(self.peliculas, fichero)
fichero.close()
del(fichero)
# Destructor de clase
def __del__(self):
self.guardar() # guardado automático
print("Se ha guardado el fichero")
In [5]:
c = Catalogo()
In [6]:
c.mostrar()
In [7]:
c.agregar( Pelicula("El Padrino", 175, 1972) )
In [8]:
c.agregar( Pelicula("El Padrino: Parte 2", 202, 1974) )
In [9]:
c.mostrar()
In [10]:
del(c)
In [12]:
c = Catalogo()
In [13]:
c.mostrar()
In [14]:
del(c)
In [15]:
c = Catalogo()
In [16]:
c.agregar( Pelicula("Prueba", 100, 2005) )
In [17]:
c.mostrar()
In [18]:
del(c)
In [19]:
c = Catalogo()
In [20]:
c.mostrar()