クロスプラットフォームでのファイルパスの処理

施設が使用する場合Nukeいくつかのオペレーティングシステムでは、設定が必要な場合がありますNukeあるプラットフォームで作成されたスクリプトが別のプラットフォームでも機能するように、ファイルパスの先頭を置き換えます。

たとえば、ファイルパスがWindows Linuxでも機能し、その逆も可能です。次のことができます。

1.   というファイルを作成しますinit.pyまだ存在しない場合は、プラグインパスディレクトリに。

プラグインパスディレクトリの詳細については、 ギズモ、NDKプラグイン、PythonおよびTclスクリプトの読み込み

2.   を開くinit.pyテキストエディタでファイルを作成し、次の形式でエントリを追加します。

import platform def filenameFix(filename): if platform.system() in ("Windows", "Microsoft"): return filename.replace( "/SharedDisk/", "p:\\" ) return filename.replace( "p:\\", "/SharedDisk/" )

このように、 Windowsファイルパス(で始まるp:\上記の例では)は、Linuxファイルパス(で始まる/SharedDisk/)ボンネットの下でNukeスクリプトはLinuxで使用されます。そうでなければ、 Windowsファイルパスが使用されます。

グラフィカルユーザーインターフェイス(GUI)に表示されるファイルパスは変更されないことに注意してください。使用している場合p:\ノードコントロールでは、これはまだ表示されますp:\。ただし、Linuxでは、 Nuke解釈するp:\なので/SharedDisk/