インタフェース: python

[インタフェース](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