Question

Voici la situation. La société pour laquelle je travaille a pas mal de code Tcl existant, mais certains veulent commencer à utiliser python. Ce serait bien de pouvoir réutiliser une partie du code Tcl existant, car c'est de l'argent déjà dépensé. En outre, certains équipements de test ne possèdent que des API Tcl.

Donc, une des façons dont je pensais était d'utiliser le module de sous-processus pour appeler des scripts Tcl.

  • Le sous-processus est-il mon meilleur pari?
  • Quelqu'un a-t-il utilisé ce nouveau code: Plumage ? Si oui, quelle est votre expérience (pas seulement pour Tk)?
  • Y a-t-il d'autres moyens possibles que je n'ai pas envisagés?
Était-ce utile?

La solution

J'espère que vous êtes prêt pour cela. Python standard

import Tkinter
tclsh = Tkinter.Tcl()
tclsh.eval("""
    proc unknown args {puts "Hello World!"}
    }"!dlroW olleH" stup{ sgra nwonknu corp
""")

Modifier pour commenter : l'interpréteur tcl de Python n'a pas connaissance des autres composants tcl installés. Vous pouvez résoudre ce problème en ajoutant des extensions de la manière habituelle au python tcl utilisé. Voici un lien avec quelques détails

Autres conseils

Cela peut être fait.

http://wiki.tcl.tk/13312

Regardez spécifiquement l’extension typcl.

  

Typcl est un peu bizarre ... C'est une extension pour utiliser Tcl depuis Python.   Cela n’exige pas vraiment CriTcl et aurait pu être fait en C standard.

     

Ce code montre comment utiliser Tcl en tant que bibliothèque partagée et s'y connecter.   au moment de l'exécution (l'architecture des stubs de Tcl simplifie grandement cette tâche).   De plus, Typcl évite les conversions de chaînes autant que possible (dans les deux sens).

Je ne l'ai pas utilisé moi-même, mais SWIG pourrait vous aider:

http://www.swig.org/Doc1.1/HTML /Tcl.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top