2013-04-23 2 views
3

그래서, 그 변수의 결과와 함께 tcl 변수가있는 문자열을 인쇄하도록 python을 얻으려고합니다. 내가 코드에 문제가 생기면 핵무기를 사용하고있다.안녕 파이썬 tcl 변수를 해결하기 위해? Nuke

[set THIS image] 
Ln = "/Test/still/testing/$THIS\_clean_v001" 
print(Ln) # this prints exactly the above 

G = nuke.tcl('[puts "$THIS"] ') 

print(G) 단어 이미지 또는 아니요를 반환 하시겠습니까?

나는 문제를 해결하기 위해 tcl을 입력하는 텍스트 필드에 문제가있다. 그러나 처리하기 위해 보내면 문자 그대로 $THIS이 필요하다.

+0

는 당신이 우리가'nuke.tcl'의 문서에 링크 할 수

nuke.tcl('set', 'THIS', 'image') p = '/Test/still/testing/$THIS\_clean_v001' print nuke.tcl('subst', p) 

이의 결과는 적절하게 확장 문자열이 될 것인가? – Eric

+0

현재 핵무기가 아니라 기본적으로 : nuke.tcl (스크립트, * args) 도움이된다면. 나는 평균 시간에 온라인으로 볼 것입니다. – aescript

답변

4

두 가지 참고 사항 :

  1. 티클 puts는 값을 반환하지 않습니다. 너는 Tcl set을 원하는 것처럼 들린다. http://www.nukepedia.com/reference/Python에서 nuke.tcl에 대한

  2. 워드 프로세서 나타냅니다

    tcl(command, arg, arg, ...)

    는 TCL 명령을 실행하십시오. 인수는 문자열이어야하며 명령에 전달되어야합니다. 인수가 주어지지하고 명령이 다음에 공백이있는 경우이를 대신 (이 감가 상각)

보다는 전체 스크립트로 호출하는 것은, 당신이 수를 모두 사용을 보인다 TCL 프로그램으로 해석됩니다 비 사용되지 않는 버전을 사용하여 원하는 동작을 얻을 :

G = nuke.tcl("set", "THIS") 

Whic는 THIS 변수의 값을 reutrn한다.

+0

그래도 변수를 설정했는데 반환하지 않았습니다. 이미 변수를 다른 곳에 설정했습니다. 내가 틀렸어? – aescript

+0

인수 하나를 사용하면 set은 변수의 현재 값을 반환합니다. 2를 사용하여 새 값을 설정 한 다음이를 반환합니다. – ckhan

+0

괜찮아. 고마워. tcl에 약간 새롭고 도큐멘트에서이를 놓친 것 같습니다. – aescript

0

TCL subst 명령을 사용하여 문자열의 모든 TCL 변수를 원샷 확장 할 수도 있습니다. SUBST에 대한 '/Test/still/testing/image_clean_v001'

문서는 여기에서 찾을 수 있습니다 : http://www.tcl.tk/man/tcl8.4/TclCmd/subst.htm

관련 문제