[インタフェース](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: true
Python エンジンを初期化し、 #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: true
1 番目の引数の文字列で指定された 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: true
1 番目の引数で指定された 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 |