Domanda

Ecco la situazione. La società per cui lavoro ha un bel po 'di codice Tcl esistente, ma alcuni di loro vogliono iniziare a usare Python. Sarebbe bello poter riutilizzare parte del codice Tcl esistente, perché sono soldi già spesi. Inoltre, alcune delle apparecchiature di test hanno solo API Tcl.

Quindi, uno dei modi in cui ho pensato era usare il modulo di sottoprocesso per chiamare alcuni script Tcl.

  • Il sottoprocesso è la mia scommessa migliore?
  • Qualcuno ha usato questo codice abbastanza nuovo: Piumaggio ? In caso affermativo qual è la tua esperienza (non solo per Tk)?
  • Altri possibili modi che non ho preso in considerazione?
È stato utile?

Soluzione

Spero che tu sia pronto per questo. Python standard

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

Modifica in Re per commentare : l'interprete tcl di Python non è a conoscenza di altri componenti tcl installati. Puoi gestirlo aggiungendo le estensioni nel solito modo che tcl python effettivamente utilizza. Ecco un link con alcuni dettagli

Altri suggerimenti

Questo può essere fatto.

http://wiki.tcl.tk/13312

Guarda in particolare l'estensione typcl.

  

Typcl è un po 'strano ... È un'estensione per usare Tcl da Python.   In realtà non richiede CriTcl e avrebbe potuto essere fatto nello standard C.

     

Questo codice dimostra l'utilizzo di Tcl come libreria condivisa e l'aggancio in esso   in fase di esecuzione (l'architettura degli stub di Tcl lo rende deliziosamente semplice).   Inoltre, Typcl evita le conversioni di stringa ove possibile (in entrambi i modi).

Non l'ho usato da solo, ma SWIG potrebbe aiutarti:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top