| [インタフェース](Interfaces) > [コア インタフェース](Core Interfaces) > [python] |
Python コア インタフェースは、MAXScript に Python エンジンのコントロールを公開します。3ds Max 2015 以降で使用可能です。
<enum>python.Init throwOnError:<bool>
Init enums: {#success | #pathError | #initError | #scriptFileError | #executeError}
throwOnError default value: truePython エンジンを初期化し、 #success を返します。
初期化に失敗した場合は、パス エラー、初期化エラー、スクリプト ファイル エラーまたは実行ファイル エラーの原因を説明する enum を返します。
オプションの引数 ThrowOnError : が False に設定されている場合、エラーが発生した場合は、エラーはスローされません。
<enum>python.Execute <string>script fileName:<filename> throwOnError:<bool> clearUndoBuffer:<bool>
Execute enums: {#success | #pathError | #initError | #scriptFileError | #executeError}
fileName default value: undefined
throwOnError default value: true
clearUndoBuffer default value: true1 番目の引数の文字列で指定された Python スクリプトを実行するか、オプションの fileName: 引数が指定されている場合、指定された Python スクリプト ファイルを実行します。
実行が成功した場合は #success を返し、そうでなければ、パス エラー、初期化エラー、スクリプト ファイル エラーまたは実行ファイル エラーの原因を説明する他の enum の 1 つを返します。
オプションの引数 ThrowOnError : が False に設定されている場合、エラーが発生した場合は、エラーはスローされません。
オプションの引数 clearUndoBuffer : が False に設定されている場合、[バッファを元に戻す](Undo Buffer)は実行前にクリアされません。
<enum>python.ExecuteFile <filename>fileName throwOnError:<bool> clearUndoBuffer:<bool>
ExecuteFile enums: {#success | #pathError | #initError | #scriptFileError | #executeError}
throwOnError default value: true
clearUndoBuffer default value: true1 番目の引数で指定された Python スクリプト ファイルを実行します。
実行が成功した場合は #success を返し、そうでなければ、パス エラー、初期化エラー、スクリプト ファイル エラーまたは実行ファイル エラーの原因を説明する他の enum の 1 つを返します。
オプションの引数 ThrowOnError : が False に設定されている場合、エラーが発生した場合は、エラーはスローされません。
オプションの引数 clearUndoBuffer : が False に設定されている場合、[バッファを元に戻す](Undo Buffer)は実行前にクリアされません。
<String by value>python.GetLastError()
これは、 ThrowOnError が False に設定された状態で実行する場合には特に便利で、戻り値が #success でない場合は、この方法を使用してエラーをスローせずに独自のエラーメッセージを表示できます。
| 例: |
( result = python.Init throwOnError:false if result == #success do ( result = python.Execute "print \"Hello World!\"" throwOnError:false ) if result != #success then ( format "Python Initialization Failed due to %\n" (result as string) format "ERROR: %\n" (python.GetLastError()) ) else format "The Python Execution Was A World-Wide Success!\n" OK ) |
| 出力: |
Hello World! The Python Execution Was A World-Wide Success! OK |
| 変更ライン 5 - PRUNT と誤って入力: |
result = python.Execute "prunt \"Hello World!\"" throwOnError:false |
| 出力: |
Python Initialization Failed due to executeError ERROR: <type 'exceptions.SyntaxError'> invalid syntax (, line 1) OK |