Hola amigo soy nuevo en el mundo de python y en la programación, estoy terminando un trabajo esta casi listo solo me falta poder recuperar los datos que guardo en un archivo y guardarlos en una lista espero me puedan guiar.
Bueno el programa guarda en una lista frutas con el nombre, color y peso, antes de terminar los guarda en un archivo llamado frutas2.dat, hasta aca todo bien el problema es que al volver ejecutar el programa no recupera los datos que estan en el archivo
, aca les dejo el codigo:
try:
import cPickle as pickle
except ImportError:
import pickle
class Fruta:
def __init__(self, nombre, color, peso):
self.nombre = nombre
self.color = color
self.peso = peso
def __str__(self):
return "%s %s %s" % (self.nombre, self.color, self.peso)
archivo = file("frutas2.dat", "a+") #aca abre o crea el archivo si no existe
lista_de_frutas = [] #crea la lista
#====================================================================================
for fruta in lista_de_frutas:
pickle.load(archivo) #se supone que carga el archivo si es que tiene contenido
archivo.close()
#====================================================================================
#====================================================================================
print
print "Lista de frutas".center(79, "#") #Muestra si tiene contenido recuperado
for fruta in lista_de_frutas:
print "Nombre: %snColor: %snPeso: %s" % (fruta.nombre, fruta.color, fruta.peso)
print ""
print "".center(79, "#")
print
#====================================================================================
while True:
nombre = raw_input("Nombre: ")
color = raw_input("Color: ")
peso = raw_input("Peso: ")
fruta = Fruta(nombre, color, peso)
lista_de_frutas.append(fruta)
s = raw_input("Desea continuar [S/n]: ")
if not s:
continue
elif s[0] == 's' or s[0] == 'S':
continue
else:
break
for fruta in lista_de_frutas:
pickle.dump(fruta, archivo)
archivo.close()
print
print "Lista de frutas".center(79, "#")
for fruta in lista_de_frutas:
print "Nombre: %snColor: %snPeso: %s" % (fruta.nombre, fruta.color, fruta.peso)
print ""
Saludos