何度も同じ事を書きたくない!
というわけで自作モジュールを導入してみようかと思った。
参考にしたのは以下のサイト。
呼ばれる側
こちらは普通にPythonのClassについて調べればもうちょっと面白いことができそう。
クラス変数とかそのあたり。
呼ぶ側
こちらはなかなか苦労した
4:libPath = "PATH" #your module.py file's directory path
作成した「呼ばれる側」のスクリプトを置いたディレクトリまでのパスを指定する。
「呼ぶ側」と同じ場所に置いて呼び出した方がいろいろと便利かも。
MotionBuilder:Python:スクリプト自体のパスを取得
5:if not libPath in sys.path : sys.path.append(libPath)
Motionbuilderのパスライブラリに書き込んで・・・
6:import moduleCalled
「呼ばれる側」ファイル名を指定
7:reload(moduleCalled)
これは自動で作られる.pycファイルをリロードする命令。
これをリロードしないといくら「呼ばれる側」.pyファイルを更新しても「呼ぶ側」に反映されない。
但し、他にこのファイルをロードしているファイルがある場合、そちらでも呼び直さないといけないらしい・・・。のでこれは開発中の処理。
8:import moduleCalled
.pycファイルがリロードされたのでもう一度読み直す
10:testmod.testclass()
こんな感じで呼び出す。出力結果は"create testclass"
11:testmod.testclass().testmethod()
クラスの中のメソッドの呼び出し。出力結果は"call testmethod"
以上。
とりあえず作った自作モジュール。選択関連の動作を自動化してみた。
こちらは普通にPythonのClassについて調べればもうちょっと面白いことができそう。
クラス変数とかそのあたり。
呼ぶ側
こちらはなかなか苦労した
4:libPath = "PATH" #your module.py file's directory path
作成した「呼ばれる側」のスクリプトを置いたディレクトリまでのパスを指定する。
「呼ぶ側」と同じ場所に置いて呼び出した方がいろいろと便利かも。
MotionBuilder:Python:スクリプト自体のパスを取得
5:if not libPath in sys.path : sys.path.append(libPath)
Motionbuilderのパスライブラリに書き込んで・・・
6:import moduleCalled
「呼ばれる側」ファイル名を指定
7:reload(moduleCalled)
これは自動で作られる.pycファイルをリロードする命令。
これをリロードしないといくら「呼ばれる側」.pyファイルを更新しても「呼ぶ側」に反映されない。
但し、他にこのファイルをロードしているファイルがある場合、そちらでも呼び直さないといけないらしい・・・。のでこれは開発中の処理。
8:import moduleCalled
.pycファイルがリロードされたのでもう一度読み直す
10:testmod.testclass()
こんな感じで呼び出す。出力結果は"create testclass"
11:testmod.testclass().testmethod()
クラスの中のメソッドの呼び出し。出力結果は"call testmethod"
以上。
とりあえず作った自作モジュール。選択関連の動作を自動化してみた。