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