I have been learning about file management:
import pickle
from io import open
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()
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()
#Destructor
def __del__(self):
self.guardar()
print("se ha guardado")
c = Catalogo()
c.agregar(Pelicula("El Padrino", 175, 1972))
c.agregar(Pelicula("El Padrino: 2", 202, 1974))
c = Catalogo()
c.agregar(Pelicula("Pelicula", 100, 1974))
c = Catalogo()
c.mostrar()
and when I want to open in binary the files that I create from Visual Studio Code or something like this comes to me: ] that is empty, which does not happen to me when I create them in Jupyter and I open them with Sublime that you leave like this: 8003 5d71 0028 4b01 4b02 4b03 4b04 4b05 652e. Is it something of the program? Should I install some extension?
Greetings!