

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Referencia rápida de expresiones
<a name="build-job-bundle-expressions-reference"></a>

Las expresiones utilizan un subconjunto de la sintaxis de expresiones de Python. Los valores tienen uno de los tipos `bool``int`,`float`,`string`, `path``range_expr`, o`list[{{T}}]`. Los parámetros de trabajo tienen la forma minúscula del tipo declarado, por lo que un `PATH` parámetro es un `path` valor y un parámetro de `CHUNK[INT]` tarea es un. `range_expr` También se puede llamar a cualquier función como método en su primer argumento, por lo que `upper(Param.Name)` `Param.Name.upper()` son iguales. En esta página se enumeran las partes del lenguaje que más utilizan las plantillas de trabajo. Para ver la biblioteca de funciones completa, consulte la [biblioteca de funciones de Open Job Description](https://github.com/OpenJobDescription/openjd-specifications/wiki/2026-02-Expression-Language#2-function-library) en el GitHub sitio web.

Están disponibles las siguientes variables. Los parámetros del trabajo se conocen cuando se crea el trabajo, por lo que se evalúa una expresión que utilice solo `Param` valores. Las variables de tarea y sesión solo las conoce el trabajador, por lo que se comprueba el tipo de expresión que las utiliza al enviarlas y se evalúa cuando se ejecuta la tarea.


| Variable | Tipo | Description (Descripción) | 
| --- | --- | --- | 
| Param.{{Name}} | Tipo declarado | Un valor de parámetro de trabajo. Para LIST[PATH] los parámetros PATH y parámetros, se han aplicado reglas de mapeo de rutas. | 
| RawParam.{{Name}} | string | El valor original de un PATH parámetro tal como se envió, antes del mapeo de rutas. Se usa para manipular una ruta de otro sistema operativo antes de realizar la llamadaapply\_path\_mapping(). | 
| Task.Param.{{Name}} | Tipo declarado | Un valor de parámetro de tarea. Un CHUNK[INT] parámetro es unrange\_expr; llámalo list() para iterar los fotogramas. | 
| Task.File.{{Name}}, Env.File.{{Name}} | path | La ubicación del elemento de trabajo en la que se escribió un archivo incrustado. | 
| Session.WorkingDirectory | path | El directorio de trabajo temporal de la sesión sobre el trabajador. | 
| Job.Name, Step.Name | string | El nombre del trabajo resuelto y el nombre del paso actual. | 

Los siguientes operadores y funciones cubren la mayoría de la lógica de las plantillas.


| Categoría | Operadores y funciones | Ejemplo | 
| --- | --- | --- | 
| Aritmético | \+ - \* / // % \*\*, abs(), min(), max(), sum(), floor(), ceil(), round() | {{ min(Param.FrameRange) }}y {{ max(Param.FrameRange) }} para el primer y el último fotograma de un parámetro de rango de fotogramas | 
| Comparación y lógica | == \!= < <= > >=, in, not in, and, or, not, {{a}} if {{test}} else {{b}} | {{ 'large' if Param.Epochs >= 100 else 'small' }} | 
| Conversión | string(), int(), float(), bool(), path(), list(), range\_expr() | {{ len(list(Task.Param.Frame)) }} | 
| Cadenas | upper(),lower(),strip(),replace(),split(),join(),startswith(),endswith(),zfill(), removeprefix()removesuffix(), rebanando [{{start}}:{{stop}}] | {{ zfill(Task.Param.Frame, 4) }} | 
| Expresiones regulares | re\_match(), re\_search(), re\_findall(), re\_sub(), re\_split(), re\_escape() | {{ re\_search(Param.Dataset.stem, r'\_v(\\d\+)')[1] }} | 
| Rutas | /unir, \+ añadir texto,,,.name,.stem,.suffix,.parent,.parts,with\_suffix(),with\_stem(), with\_number() as\_posix() apply\_path\_mapping() | {{ Param.OutputPattern.with\_number(Task.Param.Frame) }} | 
| Listas | len(), indexación[{{i}}],,[{{expr}} for {{x}} in {{list}}],sorted(),reversed(), unique() flatten() range() | {{ [Param.OutputDir / f for f in Param.Files] }} | 
| Cotización de guiones | repr\_sh()para bash, repr\_pwsh() para PowerShell, repr\_cmd() para Windows CMD, para repr\_py() Python, repr\_json() para JSON | {{ repr\_pwsh(list(Task.Param.Frame)) }} | 
| Validación | fail({{message}})detiene la creación de empleo con un mensaje | {{ Param.Count if Param.Count > 0 else fail('Count must be positive') }} | 

La `with_number()` función reemplaza el número de marco en el nombre de un archivo, ya sea que el nombre contenga un marcador de posición o un número real. Reconoce el relleno de hash (por ejemplo`####`, al estilo printf`%04d`) y una serie de dígitos (p. ej.)`0001`, y rellena el resultado con el mismo ancho. Por lo tanto, el valor de un parámetro puede ser un patrón o el primer archivo de una secuencia: `path('/renders/shot_####.exr')``path('/renders/shot_%04d.exr')`, y `path('/renders/shot_0001.exr')` todos dan como resultado. `/renders/shot_0072.exr` `with_number(72)` Si el nombre no contiene ninguno de estos valores, la función añade un número de cuatro dígitos a la raíz.

Algunos comportamientos difieren de los de Python. `or`Los operadores `and` y devuelven uno de sus operandos `false` y solo `null` cuentan como falsos; por lo tanto`0`, una cadena vacía y una lista vacía no lo hacen. Esto proporciona `or` una alternativa para un valor no definido: `{{ Param.OutputName or Param.InputFile.stem }}` usa el nombre del archivo de entrada cuando el parámetro es `null` opcional y una cadena vacía se mantiene como se indica. La condición en `{{a}} if {{test}} else {{b}}` debe ser booleana. Los números enteros son de 64 bits y un desbordamiento es un error y no un ajuste silencioso. Comparar valores de diferentes tipos con `==` es `false` más que un error, excepto si `int` se compara con `float` y `string` se compara con. `path` Los literales JSON `null``true`, y `false` se aceptan junto con `None``True`, y`False`.

Para obtener más información, consulte los siguientes recursos:
+ El [lenguaje de expresiones de Open Job Description](https://github.com/OpenJobDescription/openjd-specifications/wiki/2026-02-Expression-Language) en el GitHub sitio web: la gramática, el sistema de tipos, las reglas de evaluación y cada operador y función con su firma.
+ [Añada expresiones a una plantilla de trabajo](build-job-bundle-expressions-add.md)— Añadir expresiones a una plantilla.