View a markdown version of this page

Kurzreferenz zu Expressions - Deadline Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Kurzreferenz zu Expressions

Ausdrücke verwenden eine Teilmenge der Python-Ausdruckssyntax. Werte haben einen der Typenbool,int,float,string, pathrange_expr, oderlist[T]. Job-Parameter haben die Kleinbuchstabenform ihres deklarierten Typs, sodass ein PATH Parameter ein path Wert und ein CHUNK[INT] Task-Parameter ein range_expr ist. Jede Funktion kann auch als Methode für ihr erstes Argument aufgerufen werden, also upper(Param.Name) Param.Name.upper() sind sie identisch. Auf dieser Seite sind die Teile der Sprache aufgeführt, die in Job-Templates am häufigsten verwendet werden. Die vollständige Funktionsbibliothek finden Sie in der Funktionsbibliothek Open Job Description auf der GitHub Website.

Die folgenden Variablen sind verfügbar. Die Jobparameter sind bekannt, wenn der Job erstellt wird, sodass ein Ausdruck, der nur Param Werte verwendet, dann ausgewertet wird. Aufgaben- und Sitzungsvariablen sind nur dem Worker bekannt, sodass ein Ausdruck, der sie verwendet, bei der Übermittlung typgeprüft und bei der Ausführung der Aufgabe ausgewertet wird.

Variable Typ Description
Param.Name Deklarierter Typ Ein Job-Parameterwert. Für die LIST[PATH] Parameter PATH und wurden Pfadzuordnungsregeln angewendet.
RawParam.Name string Der ursprüngliche Wert eines PATH Parameters, wie er vor der Pfadzuweisung übermittelt wurde. Verwenden Sie ihn, um einen Pfad von einem anderen Betriebssystem aus zu manipulieren, bevor Sie ihn aufrufenapply_path_mapping().
Task.Param.Name Deklarierter Typ Ein Wert für einen Aufgabenparameter. Ein CHUNK[INT] Parameter ist einrange_expr; rufen Sie ihn list() auf, um die Frames zu iterieren.
Task.File.Name, Env.File.Name path Der Ort auf dem Worker, an dem eine eingebettete Datei geschrieben wurde.
Session.WorkingDirectory path Das temporäre Arbeitsverzeichnis der Sitzung auf dem Worker.
Job.Name, Step.Name string Der Name des aufgelösten Jobs und der aktuelle Schrittname.

Die folgenden Operatoren und Funktionen decken den Großteil der Vorlagenlogik ab.

Kategorie Operatoren und Funktionen Beispiel
Arithmetisch + - * / // % **, abs(), min(), max(), sum(), floor(), ceil(), round() {{ min(Param.FrameRange) }}und {{ max(Param.FrameRange) }} für den ersten und letzten Frame eines Frame-Bereichsparameters
Vergleich und Logik == != < <= > >=, in, not in, and, or, not, a if test else b {{ 'large' if Param.Epochs >= 100 else 'small' }}
Konvertierung string(), int(), float(), bool(), path(), list(), range_expr() {{ len(list(Task.Param.Frame)) }}
Zeichenfolgen upper(),lower(),strip(),replace(),split(),join(),startswith(),endswith(),zfill(),removeprefix(),removesuffix(), schneiden [start:stop] {{ zfill(Task.Param.Frame, 4) }}
Reguläre Ausdrücke re_match(), re_search(), re_findall(), re_sub(), re_split(), re_escape() {{ re_search(Param.Dataset.stem, r'_v(\d+)')[1] }}
Pfade /verbinden, Text + anhängen,,.name,.stem,.suffix,.parent,.parts,with_suffix(),with_stem(), with_number() as_posix() apply_path_mapping() {{ Param.OutputPattern.with_number(Task.Param.Frame) }}
Listen len(), Indizierung[i],[expr for x in list],,sorted(),reversed(), unique() flatten() range() {{ [Param.OutputDir / f for f in Param.Files] }}
Zitieren von Skripten repr_sh()für bash, repr_pwsh() für PowerShell, repr_cmd() für Windows CMD, repr_py() für Python, repr_json() für JSON {{ repr_pwsh(list(Task.Param.Frame)) }}
Validierung fail(message)stoppt die Auftragserstellung mit einer Meldung {{ Param.Count if Param.Count > 0 else fail('Count must be positive') }}

Die with_number() Funktion ersetzt die Frame-Nummer in einem Dateinamen, unabhängig davon, ob der Name einen Platzhalter oder eine tatsächliche Zahl enthält. Sie erkennt Hash-Padding wie #### im Printf-Stil %04d und eine Ziffernfolge wie0001, und füllt das Ergebnis mit derselben Breite auf. Ein Parameterwert kann also ein Muster oder die erste Datei einer Sequenz sein:path('/renders/shot_####.exr'),path('/renders/shot_%04d.exr'), und path('/renders/shot_0001.exr') alle geben für. /renders/shot_0072.exr with_number(72) Wenn der Name nichts davon enthält, hängt die Funktion eine vierstellige Zahl an den Stamm an.

Einige Verhaltensweisen unterscheiden sich von Python. Die or Operatoren and und geben nur einen ihrer Operanden zurück false und null zählen als falsch0, also eine leere Zeichenfolge und eine leere Liste nicht. Auf diese Weise kann or ein Fallback für einen nicht gesetzten Wert bereitgestellt werden: {{ Param.OutputName or Param.InputFile.stem }} verwendet den Namen der Eingabedatei, wenn der optionale Parameter istnull, und eine leere Zeichenfolge wird wie angegeben beibehalten. Die Bedingung in a if test else b muss ein boolescher Wert sein. Ganzzahlen sind 64-Bit-Werte, und ein Überlauf ist eher ein Fehler als ein stilles Umbrechen. Der Vergleich von Werten verschiedener Typen mit == ist false kein Fehler, außer dass ein int Vergleich mit float und string ein Vergleich mit. path Die JSON-Literale nulltrue, und false werden zusammen mit NoneTrue, und False akzeptiert.

Weitere Informationen finden Sie in den folgenden Ressourcen: