Python 運行tcl 方式初探


Python 運行tcl 方式初探

 

為增強ATOP程序與tcl/tk 的互動性, 探討使用python 編寫ATOP程序后,能夠有效運行現有的TCL 腳本功能,增強ATOP程序的功能。

Python 執行TCL功能有兩種:

1. 進程內執行(內含TCL解析器)使用eval 命令實現

2. 進程外執行 調用tclsh/wish.exe 執行,該方式與目前ATOP 方式一致,不做講解

 

下面講解第1 種方法

 

1. Python 運行tcl 腳本

From Tkinter import Tcl

r=Tcl()

r.eval('package require itclx')

r.eval('cd $env(TCLSPACE)/ATOP')

r.eval('source lib/ct/ctCaseDv.tcl')

r.eval('source lib/ct/ctCaseDv.tcl')

 

使用eval 命令執行tcl腳本。

作用:

1) 可以將常用的 操作,如 Excel 轉tcl, 刷新XML目錄樹,等功能集成到ATOP

2)  加強GUI 和TCL 之間的溝通。

 

2. 由於 Python 默認的TCL版本是tcl8.5 ,不支持itcl4.0 版本所以需要C:\Python27\DLLs\_tkinter.pyd 文件進行重新編譯,使用tcl8.6版本。

2.1 下載python 2.7 源文件解壓縮,使用vs2008 打開PCbuild\_tkinter.vcproj,

2.2 設置頭 文件目錄為 tcl/include 目錄,設置庫文件目錄為 Tcl\lib 目錄。

 

 

2.3 設置 附加依賴項為 tcl86.lib tk86.lib

 

2.4 選擇項目,點擊 生成即可。

2.5 將生成的_tkinter.pyd 替換Python 安裝目錄dlls目錄下 原文件

2.6 拷貝TCL安裝目錄 bin目錄下的tcl86.dll,tk86.dll

到Python  dlls 目錄下

設置環境變量TCL_LIBRARY 為ATOP 的TCL目錄下的 init.tcl 所在的目錄,使用反斜杠 “/”

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM