-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinfo_permantente.py
More file actions
61 lines (46 loc) · 1.75 KB
/
info_permantente.py
File metadata and controls
61 lines (46 loc) · 1.75 KB
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
52
53
54
55
56
57
58
59
60
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):#convertir en cadena de texto la informacion de un objeto, para verlos en un archivo externo
return "{} {} {} ".format(self.nombre,self.genero,self.edad)
class ListaPersonas:
personas=[]
def __init__ (self):
listaDePersonas=open("ficheroExterno","ab+")#agregar informacion binaria
listaDePersonas.seek(0)
try:
self.personas=pickle.load(listaDePersonas)
print ("se cargaron {} personas del fichero externo". format(len(self.personas)))
except :
print ("el fichero esta vacio")
finally:
listaDePersonas.close()
del(listaDePersonas)
def agregarPersonas(self,p):
self.personas.append(p)#agregar la persona p a la lista
self.guardarPersonasEnFicheroExterno()
def mosstrarPersonas(self):
for p in self.personas:
print (p)
def guardarPersonasEnFicheroExterno(self):
listaDePersonas=open("ficheroExterno","wb")
pickle.dump(self.personas,listaDePersonas)
listaDePersonas.close()
del(listaDePersonas)
def mostrarInfoFicheroExterno(self):
print ("La informacion del fichero externo es la siguiente")
for p in self.personas:
print(p)
miLista=ListaPersonas()
p=Persona("Angela","femenino",34)
miLista.agregarPersonas(p)
miLista.mostrarInfoFicheroExterno()
"""p=Persona("kris","hombre",22)
miLista.agregarPersonas(p)
p=Persona("Karla","femenina",21)
miLista.agregarPersonas(p)
miLista.mosstrarPersonas()"""