我正在开发一个名为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)
请帮帮忙。
提前感谢
发布于 2013-02-27 13:20:13
每个单独的参数都需要是列表中的单独项。
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)发布于 2013-02-27 13:17:03
要添加参数,请向列表中添加额外的项目:
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)https://stackoverflow.com/questions/15104676
复制相似问题