Fwd: crear una sesión interactiva

Jose Caballero jcaballero.hep en gmail.com
Dom Ago 17 04:11:30 CEST 2008


---------- Mensaje reenviado ----------
De: Miguel Ángel García <magmaxlistas en gmail.com>
Fecha: 16 de agosto de 2008 17:57
Asunto: Re: [Python-es] crear una sesión interactiva
Para: Jose Caballero <jcaballero.hep en gmail.com>


Otra versión:

---------------------------------------------------
#!/usr/bin/env python

def func1(data=None):
   print "Ejecutando orden 1"

def func2(data=None):
   print "Ejecutando orden 2. Parametros:", data

commands = {"orden1":func1, "orden2":func2}
exitcmds = ["exit", "quit"]

history = []
entry = [""]
while 1:
   entry = raw_input("my_app > ").split()
   history.insert(0,entry)
   if len(history) > 1000:
       history.pop()
   #aqui habria que comprobar si se pulso el cursor.
   if entry[0] in exitcmds:
       break
   if commands.has_key(entry[0]):
       commands[entry[0]](entry[1:])
   else:
       print "orden no reconocida"
---------------------------------------------------

Como verás, ésta tiene en cuenta los parámetros (prueba con la orden2)
y permite salir con "exit" o "quit". Además tiene un histórico, aunque
debo decir que desconozco la forma de capturar las flechas y permitir
ir recorriendo el histórico.

De todas maneras te agradecería que siguieras el hilo en la lista, para
que otra gente pueda también aprovecharse de las respuestas y ofrecer
otras soluciones, tanto mejores como peores.

También es interesante que al final expongas la solución que adoptaste,
a modo de agradecimiento y también para ayudar al siguiente que llegue
con tu misma duda :-D

Por favor: si lo ves pertinente, reenvía este mail a la lista.

Gracias!! ;)




Pues como sí que lo veo pertinente, y porque es de bien nacidos el ser
agradecidos, reenvío el mail a la lista.
Gracias por el ejemplo.

Jose
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es