このクラスでは、主にPythonの標準ストリームをHoudiniウィンドウとペインタブによってPythonの入出力を可能にするための実装が施されています。
内部のSideFXスクリプトを外部で役立たせるメソッドは、addCloseCallback(), removeCloseCallback(), callbacks()です。
これらのメソッドは、Pythonシェルウィンドウまたはペインタブを閉じた時にHoudiniがコールする関数を登録することができます(通常のPythonで言うatexit()
スクリプトに相当します)。
他のメソッドは、内部の実装であると見なされるので、そのメソッドを使用しないでください。
メソッド ¶
addDataForReading(data)
addEOFForReading()
addCloseCallback(callback)
最後のHoudini Python Shellが閉じた時にコールされるPythonコールバックを登録します。
引数は、パラメータが不要なコール可能オブジェクトです。
def cleanup(): # ここは、Pythonシェルが閉じた時にクリーンアップコードを実行する場所です。 pass hou.ui.shellIO().addCloseCallback(cleanup)
この関数を使用することで、Pythonシェルに依存した仕組みを安全に終了させることができます。 例えば、オブジェクトが出力メッセージをシェルに出さないようにするコールバックを登録することができます。
closeCallbacks()
→ tuple
of callback
hou.ShellIO.addCloseCallbackを使って登録されたすべてのPythonコールバックのタプルを返します。
getAndClearWrittenData()
→ string
interruptShellThread()
isatty()
→ bool
“ファイルのようなオブジェクト”インターフェースの一部として実装されています。
isWaitingForCommand()
→ bool
readline(size=-1)
→ string
“ファイルのようなオブジェクト”インターフェースの一部として実装されています。
removeCloseCallback(callback)
hou.ShellIO.addCloseCallbackを使って以前に登録されたPythonコールバックを削除します。 詳細は、hou.ShellIO.addCloseCallbackを参照してください。
そのコールバックが以前に登録されていなかった場合は、hou.OperationFailedを引き起こします。
setIsWaitingForCommand(on)
write(data)
“ファイルのようなオブジェクト”インターフェースの一部として実装されています。