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
Las expresiones utilizan un subconjunto de la sintaxis de expresiones de Python. Los valores tienen uno de los tipos boolint,float,string, pathrange_expr, olist[. Los parámetros de trabajo tienen la forma minúscula del tipo declarado, por lo que un T]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
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. |
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. |
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. |
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.,
Env.File. |
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,
|
{{ '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 [ |
{{ 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[,,[,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(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. orLos operadores and y devuelven uno de sus operandos false y solo null cuentan como falsos; por lo tanto0, 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 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 a if test else
b== es false más que un error, excepto si int se compara con float y string se compara con. path Los literales JSON nulltrue, y false se aceptan junto con NoneTrue, yFalse.
Para obtener más información, consulte los siguientes recursos:
-
El lenguaje de expresiones de Open Job Description
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— Añadir expresiones a una plantilla.