Знать любые творческие способы взаимодействия Python с Tcl?

Вот ситуация. Компания, в которой я работаю, имеет довольно много существующего кода Tcl, но некоторые из них хотят начать использовать python. Было бы неплохо повторить использование существующего кода Tcl, потому что эти деньги уже потрачены. Кроме того, некоторые тестовые устройства имеют только API Tcl.

Итак, один из способов, которым я думал, - использовать модуль подпроцесса для вызова некоторых сценариев Tcl.

  • Является ли подпроцессом лучший выбор?
  • Кто-нибудь использовал этот довольно новый фрагмент кода: Plumage? Если да, то каков ваш опыт (не только для Tk)?
  • Любые другие возможные способы, которые я не рассматривал?

Ответы

Ответ 1

Надеюсь, вы готовы к этому. Стандартный Python

import Tkinter
tclsh = Tkinter.Tcl()
tclsh.eval("""
    proc unknown args {puts "Hello World!"}
    }"!dlroW olleH" stup{ sgra nwonknu corp
""")

Изменить в Re для комментариев: Python tcl-интерпретатор не знает других установленных компонентов tcl. Вы можете справиться с этим, добавив расширения обычным образом, чтобы использовать tcl python. Здесь ссылка с некоторыми подробностями

Ответ 2

Это можно сделать.

http://wiki.tcl.tk/13312

Посмотрите на расширение typcl.

Typcl немного странно... Это расширение для использования Tcl из Python. Это действительно не требует CriTcl и может быть сделано в стандартном C.

Этот код демонстрирует использование Tcl в качестве общей библиотеки и подключение к нему во время выполнения (архитектура Tcl stub делает это восхитительно простым). Кроме того, Typcl избегает преобразований строк, где это возможно (в обоих направлениях).