PythonとTclをインターフェースする創造的な方法を知っていますか?

StackOverflow https://stackoverflow.com/questions/1004434

  •  05-07-2019
  •  | 
  •  

質問

状況は次のとおりです。私が働いている会社にはかなりの数の既存の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に通常の方法で拡張機能を追加することで対処できます。詳細はこちら

他のヒント

これを行うことができます。

http://wiki.tcl.tk/13312

特にtypcl拡張機能を見てください。

  

Typclは少し奇妙です...これは、PythonのTcl を使用するための拡張機能です。   実際にはCriTclを必要とせず、標準Cで実行できます。

     

このコードは、共有ライブラリとしてTclを使用し、それにフックする方法を示しています   実行時(Tclのスタブアーキテクチャにより、これは非常に簡単になります)。   さらに、Typclは可能な限り文字列変換を回避します(両方の方法)。

自分では使用していませんが、SWIGが役に立つかもしれません:

http://www.swig.org/Doc1.1/HTML /Tcl.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top