2010-04-07 20 views
23

He escrito una pequeña aplicación de consola que puede realizar ciertas tareas. La interfaz de usuario es similar a cosas como los sistemas de control de versiones o yum, etc. Así que, básicamente, puedes pensar que es un lenguaje específico de dominio. Ahora me gustaría escribir un shell (bash like) que pueda ejecutar y completar automáticamente este idioma y tenga un historial de comandos (para que no tenga que cargar y guardar los archivos xml bastante grandes en cada comando). En resumen, quiero algo como ipython, pero no para ejecutar código python, sino mi propia DSL.Cómo escribir un shell en Python

¿Hay bibliotecas que me ayuden a hacer esto? Veo que hay un módulo readline y rlcompleter en python, pero su documentación parece indicar que esto es solo para uso con el propio shell python, o me perdí algo allí?

Respuesta

21

Debe consultar los módulos cmd y cmd2. Creo que harán lo que quieras. Hubo un PyCon talk acerca de estos.

+1

Sí, eso era exactamente lo que estaba buscando! Gracias. – panzi

+2

El enlace a la conversación ya no funciona. Un enlace alternativo a la misma charla [está aquí en pyvideo.] (Http://pyvideo.org/video/306/pycon-2010--easy-command-line-applications-with-c). La charla se llama: aplicaciones de línea de comandos fáciles con cmd y cmd2 (# 153) de pycon us 2010. – klaas

Cuestiones relacionadas