2013-02-27 2 views
1

소프트웨어 이름 Foundry Nuke에서 작업 중입니다. Mac OSX에서 명령 줄 매개 변수를 전달하는 중에 문제가 발생했습니다.명령 줄 인수 Mac OSX

아래의 명령을 사용하면 정상적으로 작동하고 Nuke 소프트웨어가 실행됩니다.

subprocess.Popen(['Application/Nuke6.3v8/Nuke6.3v8.app/Contents/MacOS/Nuke6.3v8'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) 

그러나 명령에 인수를 추가하면 작동하지 않습니다. subprocess.Popen(['Application/Nuke6.3v8/Nuke6.3v8.app/Contents/MacOS/Nuke6.3v8', '-t /.../somepath/init.py', '%s %s' % (someArg1, someArg2)], stdin=subprocess.PIPE, stdout=subprocess.PIPE)

친절하게 도움. 사전

+0

"작동하지 않음"이란 무엇을 의미합니까? – Blender

답변

0

에서

덕분 목록에 추가 항목을, 인수를 추가 추가하려면 :

subprocess.Popen([ 
    'Application/Nuke6.3v8/Nuke6.3v8.app/Contents/MacOS/Nuke6.3v8', 
    '-t', '/.../somepath/init.py', 
    some_arg_1, some_arg_2, 
], stdin=subprocess.PIPE, stdout=subprocess.PIPE) 
1

각 개별 인수는 목록에서 별도의 항목을해야합니다.

subprocess.Popen(['Application/Nuke6.3v8/Nuke6.3v8.app/Contents/MacOS/Nuke6.3v8', 
        '-t', '/.../somepath/init.py', # not '-t /.../somepath/init.py' 
        someArg1, someArg2,   # not '%s %s'%(someArg1, someArg2)' 
       ], stdin=subprocess.PIPE, stdout=subprocess.PIPE) 
+0

감사합니다 .... 인수로 목록이있는 경우 * someArgList가 작동하지 않습니다. – NarayaN

+0

별표가 붙은 표현식은 임의의 목록이 아닌 함수의 인수 목록의 일부로 만 사용할 수 있습니다. 당신은'[ 'Application ...', '-t', '/.../somepath/init.py'] + list (someArglist)'를 사용할 수 있습니다. – chepner