Python을 Tcl과 인터페이스하는 창의적인 방법을 알고 계십니까?

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

  •  05-07-2019
  •  | 
  •  

문제

상황은 다음과 같습니다.내가 일하는 회사에는 기존 Tcl 코드가 꽤 많이 있는데, 그들 중 일부는 Python을 사용하기를 원합니다.이미 비용이 지출되었기 때문에 기존 Tcl 코드 중 일부를 재사용할 수 있다면 좋을 것입니다.게다가 일부 테스트 장비에는 Tcl API만 있습니다.

그래서 제가 생각한 방법 중 하나는 subprocess 모듈을 사용하여 일부 Tcl 스크립트를 호출하는 것이었습니다.

  • 하위 프로세스가 최선의 선택입니까?
  • 이 상당히 새로운 코드를 사용한 사람이 있습니까? 깃털?그렇다면 (Tk뿐만 아니라) 당신의 경험은 무엇입니까?
  • 내가 고려하지 않은 다른 가능한 방법이 있습니까?
도움이 되었습니까?

해결책

나는 당신이 이것에 대한 준비가 되기를 바랍니다.표준 파이썬

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이 실제로 사용하는 일반적인 방법으로 확장을 추가하여 이를 처리할 수 있습니다.자세한 내용이 포함된 링크는 다음과 같습니다.

다른 팁

이것은 할 수 있습니다.

http://wiki.tcl.tk/13312

전형적인 연장을 구체적으로보십시오.

typcl은 조금 이상합니다 ... TCL을 사용하는 것은 확장입니다. ~에서 파이썬. CritCl이 실제로 필요하지 않으며 Standard C에서 수행 될 수 있습니다.

이 코드는 TCL을 공유 라이브러리로 사용하고 런타임에 연결하는 것을 보여줍니다 (TCL의 Stubs Architecture는 이것이 유쾌하게 간단합니다). 또한 TYPCL은 가능한 경우 문자열 변환을 피합니다 (두 가지 방법 모두).

나는 그것을 직접 사용하지 않았지만 Swig는 당신을 도울 수 있습니다.

http://www.swig.org/doc1.1/html/tcl.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top