Arregle el problema de guardar, solo me falta el de recuperar los datos, el problema es que me recupera solo la primera linea snff...
Ahora para guardar uso Serialización gracias a las guías que me recomendaste :P aca te dejo el codigo funciona 100% ahora estoy implementando lo de recuperar voy "recuperar 1 - yo 0" jajajaja
Código Python:
Ver originaltry:
import cPickle as pickle
except ImportError:
import pickle
class Calle:
def __init__(self, nombre, norte, sur, este, oeste, estado):
self.nombre = nombre
self.norte = norte
self.sur = sur
self.este = este
self.oeste = oeste
self.estado = estado
def __str__(self):
return "%s %s %s %s %s %s " % (self.nombre, self.norte, self.sur, self.este, self.oeste, self.estado)
archivo = file("calles.dat", "a+")
listaCalles = []
def ingresarCalle():
nombre = raw_input("Nombre: ")
norte = raw_input("Calle al Norte: ")
sur = raw_input("Calle al Sur: ")
este = raw_input("Calle al Este: ")
oeste = raw_input("Calle al Oeste: ")
estado = False
calle = Calle(nombre, norte, sur, este, oeste, estado)
listaCalles.append(calle)
pickle.dump(calle, archivo)
def listarCalles():
print ""
print "Listado de Calles".center(79, "*")
for calle in listaCalles:
print "Nombre de la Calle: %s\nCalle al Norte: %s\nCalle al Sur: %s" % (calle.nombre, calle.norte, calle.sur)
print "Calle al Este: %s\nCalle al Oeste: %s" % (calle.este, calle.oeste)
if calle.estado == True:
print "Calle visitada"
else:
print "Calle sin visitar"
print ""
def buscarCalle():
buscar = raw_input("Ingrese el nombre de la calle a buscar: ")
for nombre in listaCalles:
if buscar == nombre.nombre:
print ""
print "Resultado".center(79, "*")
print "Nombre de la Calle: %s\nCalle al Norte: %s\nCalle al Sur: %s" % (nombre.nombre, nombre.norte, nombre.sur)
print "Calle al Este: %s\nCalle al Oeste: %s" % (nombre.este, nombre.oeste)
print ""
else:
print ""
print "Resultado".center(79, "*")
print "La Calle no existe\n"
print ""
def menu():
while True:
print 'MENU'.center(32, '=')
print '1.- Ingresar una Calle'
print '2.- Buscar Calle'
print '3.- Mostrar todas las Calles'
print '6.- Salir'
op = input('Ingrese una Opcion: ')
if op == 1:
ingresarCalle()
if op == 2:
buscarCalle()
if op == 3:
listarCalles()
if op == 6:
archivo.close()
break
menu()
saludos :P