-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGuardarInformacionEnFichero.py
54 lines (41 loc) · 1.47 KB
/
GuardarInformacionEnFichero.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import pickle
class Persona:
def __init__(self,nombre,genero,edad):
self.nombre=nombre
self.genero=genero
self.edad=edad
print("Se ha creado una persona nueva con el nombre de ",self.nombre)
def __str__(self):
return "{}{}{}".format(self.nombre,self.genero,self.edad)
class ListaPersonas:
personas=[]
def __init__(self):
listaDePersonas=open("ficheroExterno","ab+")
listaDePersonas.seek(0)
try:
self.personas=pickle.load(listaDePersonas)
print("Se cargaron {} personas del fichero externo".format(len(self.personas)))
except:
print("El fichero está vacío")
finally:
listaDePersonas.close()
del(listaDePersonas)
def agregarPersonas(self,p):
self.personas.append(p)
self.guardarPersonasEnFicheroExterno()
def mostrarPersonas(self):
for i in self.personas:
print(i,"\n")
def guardarPersonasEnFicheroExterno(self):
listaDePersonas=open("ficheroExterno","wb")
pickle.dump(self.personas, listaDePersonas)
listaDePersonas.close()
del(listaDePersonas)
def mostrarInfoFicheroExterno(self):
print("La información del fichero externo es el siguiente: ")
for p in self.personas:
print(p)
miLista=ListaPersonas()
persona=Persona("Erick ","Masculino ",22)
miLista.agregarPersonas(persona)
miLista.mostrarInfoFicheroExterno()