

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
<a name="build-job-bundle-expressions-reference"></a>

Ausdrücke verwenden eine Teilmenge der Python-Ausdruckssyntax. Werte haben einen der Typen`bool`,`int`,`float`,`string`, `path``range_expr`, oder`list[{{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](https://github.com/OpenJobDescription/openjd-specifications/wiki/2026-02-Expression-Language#2-function-library) 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 wie`0001`, 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 falsch`0`, 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 ist`null`, 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 `null``true`, und `false` werden zusammen mit `None``True`, und `False` akzeptiert.

Weitere Informationen finden Sie in den folgenden Ressourcen:
+ Die [Ausdruckssprache von Open Job Description](https://github.com/OpenJobDescription/openjd-specifications/wiki/2026-02-Expression-Language) auf der GitHub Website — Die Grammatik, das Typsystem, die Bewertungsregeln und jeder Operator und jede Funktion mit ihrer Signatur.
+ [Fügen Sie Ausdrücke zu einer Jobvorlage hinzu](build-job-bundle-expressions-add.md)— Fügen Sie Ausdrücke zu einer Vorlage hinzu.