• Martes 30 de Abril de 2024, 02:06

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - programadornoob

Páginas: [1]
1
Python / Recuperar datos de archivo usando Pickle
« en: Sábado 10 de Julio de 2010, 16:58 »
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  :hitcomp: , aca les dejo el codigo:

Código: Python
  1. try:  
  2.     import cPickle as pickle  
  3. except ImportError:  
  4.     import pickle
  5.  
  6.  
  7. class Fruta:
  8.     def __init__(self, nombre, color, peso):
  9.         self.nombre = nombre
  10.         self.color = color
  11.         self.peso = peso
  12.  
  13.     def __str__(self):
  14.         return "%s %s %s" % (self.nombre, self.color, self.peso)
  15.  
  16. archivo = file("frutas2.dat", "a+") #aca abre o crea el archivo si no existe
  17.  
  18. lista_de_frutas = []    #crea la lista
  19.  
  20. #====================================================================================
  21. for fruta in lista_de_frutas:
  22.     pickle.load(archivo)    #se supone que carga el archivo si es que tiene contenido
  23. archivo.close()
  24. #====================================================================================
  25.  
  26. #====================================================================================
  27. print
  28. print "Lista de frutas".center(79, "#") #Muestra si tiene contenido recuperado
  29. for fruta in lista_de_frutas:
  30.     print "Nombre: %snColor: %snPeso: %s" % (fruta.nombre, fruta.color, fruta.peso)
  31.     print ""
  32. print "".center(79, "#")
  33. print
  34. #====================================================================================
  35.  
  36. while True:
  37.     nombre = raw_input("Nombre: ")
  38.     color = raw_input("Color: ")
  39.     peso = raw_input("Peso: ")
  40.     fruta = Fruta(nombre, color, peso)
  41.    
  42.     lista_de_frutas.append(fruta)
  43.    
  44.     s = raw_input("Desea continuar [S/n]: ")
  45.  
  46.     if not s:
  47.         continue
  48.     elif s[0] == 's' or s[0] == 'S':
  49.         continue
  50.     else:
  51.         break
  52.  
  53. for fruta in lista_de_frutas:
  54.     pickle.dump(fruta, archivo)
  55. archivo.close()
  56.  
  57.  
  58. print
  59. print "Lista de frutas".center(79, "#")
  60. for fruta in lista_de_frutas:
  61.     print "Nombre: %snColor: %snPeso: %s" % (fruta.nombre, fruta.color, fruta.peso)
  62.     print ""
  63.  
  64.  

Saludos

Páginas: [1]