View a markdown version of this page

Referencia rápida de expresiones - Nube de plazos

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[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 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. 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 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 nulltrue, y false se aceptan junto con NoneTrue, yFalse.

Para obtener más información, consulte los siguientes recursos: