View a markdown version of this page

式クイックリファレンス - Deadline クラウド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

式クイックリファレンス

式は、Python 式の構文のサブセットを使用します。値には、、bool、、int、float、range_expr、または string pathのいずれかのタイプがありますlist[T]。ジョブパラメータは宣言型の小文字形式であるため、PATHパラメータはpath値、CHUNK[INT]タスクパラメータは ですrange_expr。任意の関数は、最初の引数でメソッドとして呼び出すことができるため、 upper(Param.Name)と は同じParam.Name.upper()です。このページでは、ジョブテンプレートが最も使用する言語の部分を一覧表示します。完全な関数ライブラリについては、GitHub ウェブサイトの Open Job Description 関数ライブラリを参照してください。

次の変数を使用できます。ジョブパラメータはジョブの作成時に認識されるため、Param値のみを使用する式が評価されます。タスク変数とセッション変数はワーカーでのみ認識されるため、それらを使用する式は送信時に型チェックされ、タスクの実行時に評価されます。

変数 型 説明
Param.Name 宣言型 ジョブパラメータ値。PATH および LIST[PATH]パラメータには、パスマッピングルールが適用されています。
RawParam.Name string パスマッピングの前に送信されたPATHパラメータの元の値。を呼び出す前に、これを使用して別のオペレーティングシステムからのパスを操作しますapply_path_mapping()。
Task.Param.Name 宣言型 タスクパラメータ値。CHUNK[INT] パラメータは ですrange_expr。 list()を呼び出してフレームを反復します。
Task.File.Name, Env.File.Name path 埋め込みファイルが書き込まれたワーカー上の場所。
Session.WorkingDirectory path ワーカー上のセッションの一時作業ディレクトリ。
Job.Name, Step.Name string 解決されたジョブ名と現在のステップ名。

以下の演算子と関数は、ほとんどのテンプレートロジックを対象としています。

Category 演算子と関数 例
算術 + - * / // % **, abs(), min(), max(), sum(), floor(), ceil(), round() {{ min(Param.FrameRange) }} フレーム範囲パラメータの{{ max(Param.FrameRange) }}最初と最後のフレームの および
比較とロジック == != < <= > >=, in, not in, and, or, not, a if test else b {{ 'large' if Param.Epochs >= 100 else 'small' }}
変換 string(), int(), float(), bool(), path(), list(), range_expr() {{ len(list(Task.Param.Frame)) }}
文字列 upper()、lower()、strip()、replace()、、split()、join()、startswith()、endswith()、zfill()、removeprefix()removesuffix()、、スライス [start:stop] {{ zfill(Task.Param.Frame, 4) }}
正規表現 re_match(), re_search(), re_findall(), re_sub(), re_split(), re_escape() {{ re_search(Param.Dataset.stem, r'_v(\d+)')[1] }}
パス / 結合、テキスト+の追加、、.name、.stem、.suffix、.parent.parts、、with_suffix()with_stem()with_number()as_posix()、、 apply_path_mapping() {{ Param.OutputPattern.with_number(Task.Param.Frame) }}
Lists len()、インデックス作成 [i]、[expr for x in list]、、sorted()、reversed()、unique()flatten()、 range() {{ [Param.OutputDir / f for f in Param.Files] }}
スクリプト引用 repr_sh() for bash、 repr_pwsh() for PowerShell、 repr_cmd() for Windows CMD、 repr_py() for Python、 repr_json() for JSON {{ repr_pwsh(list(Task.Param.Frame)) }}
検証 fail(message) メッセージでジョブの作成を停止する {{ Param.Count if Param.Count > 0 else fail('Count must be positive') }}

with_number() 関数は、名前がプレースホルダーを保持するか実際の番号を保持するかにかかわらず、ファイル名のフレーム番号を置き換えます。####、printf スタイルの などのハッシュパディング%04d、および などの数字の実行を認識し0001、結果を同じ幅にパディングします。したがって、パラメータ値はパターンでもシーケンスの最初のファイルでもかまいません。path('/renders/shot_####.exr')、path('/renders/shot_%04d.exr')、およびpath('/renders/shot_0001.exr')すべての が /renders/shot_0072.exrに与えますwith_number(72)。名前にこれらのいずれも含まれていない場合、関数はステムに 4 桁の数字を追加します。

いくつかの動作は Python とは異なります。and および or演算子はオペランドの 1 つを返し、 false と のみが false としてnullカウントされるため、0、空の文字列、および空のリストは返しません。これによりor、未設定の値にフォールバックを指定できます。オプションのパラメータが の場合、 は入力ファイルの名前{{ Param.OutputName or Param.InputFile.stem }}を使用しnull、空の文字列は指定されたとおりに保持されます。の条件はブール値a if test else bである必要があります。整数は 64 ビットで、オーバーフローはサイレントラップではなくエラーです。さまざまなタイプの値を と比較するの==はエラーfalseではなく、 と int を比較floatしてstring比較する点が異なりますpath。JSON リテラル null、true、および falseは、None、True、および と一緒に使用できますFalse。

詳細については、以下のリソースを参照してください。