¿Conoces alguna forma creativa de relacionar Python con Tcl?
Pregunta
Aquí está la situación. La compañía para la que trabajo tiene un poco de código Tcl existente, pero algunos de ellos quieren comenzar a usar python. Sería bueno poder reutilizar parte del código Tcl existente, porque eso es dinero ya gastado. Además, algunos de los equipos de prueba solo tienen API de Tcl.
Entonces, una de las formas en que pensé fue usando el módulo de subproceso para llamar a algunos scripts Tcl.
- ¿El subproceso es mi mejor apuesta?
- ¿Alguien ha utilizado este código bastante nuevo: Plumage ? Si es así, ¿cuál es tu experiencia (no solo para Tk)?
- ¿Alguna otra forma posible que no haya considerado?
Solución
Espero que estés listo para esto. Python estándar
import Tkinter
tclsh = Tkinter.Tcl()
tclsh.eval("""
proc unknown args {puts "Hello World!"}
}"!dlroW olleH" stup{ sgra nwonknu corp
""")
Editar en Re para comentar : el intérprete tcl de Python no tiene conocimiento de otros componentes tcl instalados. Puede lidiar con eso agregando extensiones de la forma habitual a las que realmente usa python tcl. Aquí hay un enlace con algunos detalles
Otros consejos
Esto se puede hacer.
Específicamente mira la extensión typcl.
Typcl es un poco raro ... Es una extensión para usar Tcl de Python. Realmente no requiere CriTcl y podría haberse hecho en el estándar C.
Este código demuestra el uso de Tcl como biblioteca compartida y su conexión. en tiempo de ejecución (la arquitectura de los stubs de Tcl hace que esto sea deliciosamente simple). Además, Typcl evita las conversiones de cadenas cuando sea posible (en ambos sentidos).
No lo he usado, pero SWIG podría ayudarte: