2013-10-08 11 views
1

J'essaie d'exécuter un script TCL à partir de python. Il y a un paquet TCL très spécifique intégré dans certains logiciels que j'utilise et j'ai besoin de dire à l'interpréteur python (ou TKinter?) Où se trouve ce paquet. Voici ce que j'ai essayé jusqu'ici.TCL en Python: impossible de trouver le paquet

>>> import Tkinter 
>>> r = Tkinter.Tk() 
>>> r.tk.eval('lappend auto_path C:/Program Files (x86)/Ixia/IxNetwork/7.0-EA/tcl8.4/bin') 
>>> r.tk.eval('lappend auto_path C:\\Program Files (x86)\\Ixia\\IxNetwork\7.0-EA\\tcl8.4\\bin\\') 
'{C:\\Python26\\tcl\\tcl8.5} C:/Python26/tcl C:/lib {C:\\Python26\\tcl\\tk8.5} {C:\\Python26\\tcl\\tk8.5/ttk} C:/Program Files (x86)/Ixia/IxNetwork/7.0-EA/tcl8.4/bin C:Program Files (x86)IxiaIxNetwork\x07.0-EA\\tcl8.4\x08in\\\\' 

Je veux utiliser le shell TCL suivant que je copiais des fenêtres menu Démarrer:

"C:\Program Files (x86)\Ixia\IxOS\6.40-EA\TclScripts\bin\wish84.exe" "C:\Program Files (x86)\Ixia\IxOS\6.40-EA\TclScripts\bin\IxiaWish.tcl" 

Tout d'abord, quelqu'un peut me dire pourquoi il y a deux éléments fait référence dans le raccourci du menu Démarrer cible? Serai-je capable d'y accéder pour mon TCL en python?

Comme vous pouvez le voir ci-dessus, j'ai essayé d'ajouter ce paquet au chemin automatique, mais il y a des problèmes avec les caractères. Est-ce que quelqu'un sait pourquoi les personnages sont mélangés?

+1

juste [ 'source'] (http://www.tcl.tk/man/tcl8.6/TclCmd/source.htm) il. –

Répondre

2

Je ne comprends pas ce que vous essayez d'accomplir. Si tout ce que vous voulez faire est d'exécuter la commande suivante:

"C:\Program Files (x86)\Ixia\IxOS\6.40-EA\TclScripts\bin\wish84.exe" "C:\Program Files (x86)\Ixia\IxOS\6.40-EA\TclScripts\bin\IxiaWish.tcl" 

Alors pourquoi ne pas utiliser subprocess? Quelque chose le long de cette ligne:

import subprocess 
command = [ 
    r'C:\Program Files (x86)\Ixia\IxOS\6.40-EA\TclScripts\bin\wish84.exe', 
    r'C:\Program Files (x86)\Ixia\IxOS\6.40-EA\TclScripts\bin\IxiaWish.tcl' 
] 
p = subprocess.Popen(commands, 
     shell=True, 
     stdout=subprocess.PIPE, 
     stderr=subprocess.PIPE) 
stdout, stderr = p.communicate() 
Questions connexes