Re: crear una sesión interactiva

Arnau Sánchez pyarnau en gmail.com
Lun Ago 18 01:05:41 CEST 2008


El 16 de agosto de 2008 20:27, Jose Caballero
<jcaballero.hep en gmail.com>escribió:


> me gustaría desarrollar una aplicación que permita crear una sesión
> interactiva donde los usuarios puedan ejecutar comandos. Algo como esto
>
> $ my_application.py
> my_app > init
> my_app > bla bla bla
> my_app > exit
> $


Haga lo que haga esa aplicación, me parece una gran idea que proporciones un
interfaz texto (a veces los principiantes se lanzan prematuramente a usar
GUI). No olvides modularizar bien tu código, esto es, separar la lógica de
la presentación.

Los usuarios dispondrían de un conjunto de comandos (relacionados con la
> aplicación, evidentemente) para ejecutar en esa sesión interactiva. Pero no
> veo muy claro cómo hacerlo. Tengo algunas ideas, pero mi intuición me dice
> que son ideas de novato, no demasiado buenas desde el punto de vista de la
> programación.



Hacerte tu propia implementación para practicar está bien, pero no debes
pasar por alto los módulos ya existentes (más aún si pertenecen a la
distribución oficial):

http://docs.python.org/lib/module-cmd.html

La clase cmd.Cmd te da un esqueleto bastante potente (soporte readline,
mensajes de ayuda, prompt, etc) sobre el que trabajar.

Como ejemplo, aquí tienes una calculadora en Notación Polaca Inversa (se
agradecen comentarios sobre el mismo):

http://tokland.freehostia.de/rpn.py
------------ próxima parte ------------
_______________________________________________
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