命令行参数Mac OSX

时间:2013-02-27 05:13:54

标签: python macos nuke

我正在使用软件名称Foundry Nuke。我在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)

请帮助。

提前致谢

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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)