PythonとTclをインターフェースする創造的な方法を知っていますか?
質問
状況は次のとおりです。私が働いている会社にはかなりの数の既存のTclコードがありますが、Pythonの使用を開始したい会社もあります。既存のTclコードの一部を再利用できるといいのですが、それはすでにお金を使っているからです。また、一部のテスト機器にはTcl APIのみがあります。
したがって、私が考えた方法の1つは、サブプロセスモジュールを使用していくつかのTclスクリプトを呼び出すことでした。
- サブプロセスは私の最善策ですか?
- このかなり新しいコード Plumage を使用した人はいますか?もしそうなら、あなたの経験は何ですか(Tkだけでなく)?
- 他に考えていない方法はありますか
解決
これの準備ができたことを願っています。標準Python
import Tkinter
tclsh = Tkinter.Tcl()
tclsh.eval("""
proc unknown args {puts "Hello World!"}
}"!dlroW olleH" stup{ sgra nwonknu corp
""")
Reで編集してコメント:Pythonのtclインタープリターは、インストールされている他のtclコンポーネントを認識しません。 pythonが実際に使用するtclに通常の方法で拡張機能を追加することで対処できます。詳細はこちら
他のヒント
これを行うことができます。
特にtypcl拡張機能を見てください。
Typclは少し奇妙です...これは、PythonのTcl を使用するための拡張機能です。 実際にはCriTclを必要とせず、標準Cで実行できます。
このコードは、共有ライブラリとしてTclを使用し、それにフックする方法を示しています 実行時(Tclのスタブアーキテクチャにより、これは非常に簡単になります)。 さらに、Typclは可能な限り文字列変換を回避します(両方の方法)。
自分では使用していませんが、SWIGが役に立つかもしれません:
所属していません StackOverflow