這就是情況。我工作的公司有很多現有的Tcl代碼,但其中一些想要開始使用python。很高興能夠重用一些現有的Tcl代碼,因爲這已經花了錢。此外,一些測試設備只有Tcl API。瞭解Python與Tcl接口的創造性方法嗎?
所以,我想到的其中一種方式是使用子進程模塊調用一些Tcl腳本。
- 子過程是我最好的選擇嗎?
- 有沒有人用過這段相當新的代碼:Plumage?如果是這樣,你的體驗(不僅僅是Tk)是什麼?
- 任何其他可能的方式,我沒有考慮過?
這就是情況。我工作的公司有很多現有的Tcl代碼,但其中一些想要開始使用python。很高興能夠重用一些現有的Tcl代碼,因爲這已經花了錢。此外,一些測試設備只有Tcl API。瞭解Python與Tcl接口的創造性方法嗎?
所以,我想到的其中一種方式是使用子進程模塊調用一些Tcl腳本。
我希望你已經做好了準備。標準Python
import Tkinter
tclsh = Tkinter.Tcl()
tclsh.eval("""
proc unknown args {puts "Hello World!"}
}"!dlroW olleH" stup{ sgra nwonknu corp
""")
編輯在回覆評論:Python的TCL解釋不知道其他安裝TCL組件。您可以通過以通常的方式向tcl python實際使用的擴展添加處理。下面是一些細節
我沒有用它自己,但SWIG可能會幫助你:
這是可以做到。
Specificly看typcl擴展。
Typcl有點奇怪...這是一個擴展使用Tcl 從 Python。 它並不真正需要CriTcl,並可能已在標準C.
此代碼演示了使用Tcl作爲共享庫已經完成,並掛接到它 在運行時(Tcl的存根架構使得這種興高采烈簡單)。 此外,Typcl儘可能避免字符串轉換(兩種方式)。
有趣。我認爲這是Unix系統,而不是Windows? – 2009-06-17 02:12:18
我認爲這是用於包裝C或C++代碼與高級語言的鏈接。 – 2009-06-17 02:13:07
右:一個* *可以*用SWIG構建解決方案,但它不像「import Tkinter」或類似Typcl的項目那樣直接。 – 2011-11-11 23:51:06