Vous connaissez des façons créatives d'interfacer Python avec Tcl?
Voici la situation. La compagnie pour laquelle je travaille a un peu de code Tcl existant, mais certains d'entre eux veulent commencer à utiliser python. Il serait bon de pouvoir réutiliser une partie du code Tcl existant, parce que c'est de l'argent déjà dépensé. De plus, certains équipements d'essai n'ont que des API Tcl.
donc, une des façons dont j'ai pensé était d'utiliser le module subprocess pour appeler dans quelques scripts Tcl.
- le sous-traitement est-il ma meilleure option?
- quelqu'un A utilisé ce relativement nouveau morceau de code: Plumage? Si oui, quelle est votre expérience (et pas seulement pour les Savoirs traditionnels)?
- y a-t-il d'autres moyens possibles que je n'ai pas envisagés?
3 réponses
j'espère que vous êtes prêt pour cela. Standard Python
import Tkinter
tclsh = Tkinter.Tcl()
tclsh.eval("""
proc unknown args {puts "Hello World!"}
}"!dlroW olleH" stup{ sgra nwonknu corp
""")
Modifier dans Re de commentaire: l'interpréteur tcl de Python n'est pas au courant des autres composants tcl installés. Vous pouvez gérer cela en ajoutant des extensions de la manière habituelle aux utilisations réelles de tcl python. Voici un lien avec quelques détails
Cela peut être fait.
regardez spécifiquement l'extension typcl.
Typcl est un peu bizarre... C'est une extension pour utiliser Tcl Python. Il ne nécessite pas vraiment CriTcl et aurait pu être fait dans la norme C.
ce code démontre l'utilisation de Tcl comme bibliothèque partagée, et s'y rattache à l'exécution (L'architecture stubs de Tcl rend cette simple.) De plus, Typcl évite les conversions de chaînes lorsque cela est possible (dans les deux sens).
Je ne l'ai pas utilisé moi-même, mais SWIG pourrait vous aider: