【问题标题】:TCL in Python: can't find packagePython中的TCL:找不到包
【发布时间】:2013-10-15 14:11:33
【问题描述】:

我正在尝试从 python 运行 TCL 脚本。我正在使用的一些软件中嵌入了一个非常特定的 TCL 包,我需要告诉 python 解释器(或 TKinter?)这个包在哪里。这是我到目前为止所尝试的。

>>> 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\\\\'

我想使用从 Windows 开始菜单复制的以下 TCL shell:

"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"

首先,谁能告诉我为什么开始菜单快捷方式目标中有两个项目被引用?我可以在 python 中为我的 TCL 访问这个吗?

从上面可以看出,我已经尝试将此包附加到 auto_path,但是字符存在问题。有谁知道为什么字符混在一起?

【问题讨论】:

标签: python tcl


【解决方案1】:

我不明白你想要完成什么。如果您只想执行以下命令:

"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"

那为什么不使用subprocess呢?沿着这条线的东西:

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()

【讨论】:

    猜你喜欢
    • 2017-01-03
    • 2013-06-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    相关资源
    最近更新 更多