1

私は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)

親切に助けてください。

前もって感謝します

4

2 に答える 2

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)
于 2013-02-27T05:20:12.980 に答える
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)
于 2013-02-27T05:17:02.577 に答える