As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Referência rápida de expressões
As expressões usam um subconjunto da sintaxe de expressões do Python. Os valores têm um dos tipos boolint,float,string,path,range_expr, oulist[. Os parâmetros de Job têm a forma minúscula do tipo declarado, então um T]PATH parâmetro é um path valor e um parâmetro de CHUNK[INT] tarefa é um. range_expr Qualquer função também pode ser chamada como um método em seu primeiro argumento, então upper(Param.Name) e Param.Name.upper() são iguais. Esta página lista as partes da linguagem que os modelos de trabalho mais usam. Para ver a biblioteca completa de funções, consulte a biblioteca de funções Open Job Description
As seguintes variáveis estão disponíveis. Os parâmetros do trabalho são conhecidos quando o trabalho é criado, então uma expressão que usa somente Param valores é avaliada. As variáveis de tarefa e sessão são conhecidas somente pelo trabalhador, portanto, uma expressão que as usa é verificada por tipo no envio e avaliada quando a tarefa é executada.
| Variável | Tipo | Description |
|---|---|---|
Param. |
Tipo declarado | Um valor de parâmetro do trabalho. Para LIST[PATH] parâmetros PATH e, regras de mapeamento de caminhos foram aplicadas. |
RawParam. |
string |
O valor original de um PATH parâmetro conforme enviado, antes do mapeamento do caminho. Use-o para manipular um caminho de outro sistema operacional antes de chamarapply_path_mapping(). |
Task.Param. |
Tipo declarado | Um valor de parâmetro da tarefa. Um CHUNK[INT] parâmetro é umrange_expr; list() chame-o para iterar os quadros. |
Task.File.,
Env.File. |
path |
O local no trabalhador em que um arquivo incorporado foi gravado. |
Session.WorkingDirectory |
path |
O diretório de trabalho temporário da sessão no trabalhador. |
Job.Name, Step.Name |
string |
O nome do trabalho resolvido e o nome da etapa atual. |
Os operadores e funções a seguir abrangem a maior parte da lógica do modelo.
| Categoria | Operadores e funções | Exemplo |
|---|---|---|
| Aritmética | + - * / // % **, abs(), min(),
max(), sum(), floor(), ceil(),
round() |
{{ min(Param.FrameRange) }}e {{ max(Param.FrameRange) }} para o primeiro e o último quadro de um parâmetro de intervalo de quadros |
| Comparação e lógica | == != < <= > >=, in, not
in, and, or, not,
|
{{ 'large' if Param.Epochs >= 100 else 'small' }} |
| Conversão | string(), int(), float(),
bool(), path(), list(),
range_expr() |
{{ len(list(Task.Param.Frame)) }} |
| Strings | upper(),lower(),strip(),replace(),split(),join(),startswith(),endswith(),zfill(), removeprefix()removesuffix(), fatiando [ |
{{ zfill(Task.Param.Frame, 4) }} |
| Expressões regulares | re_match(), re_search(), re_findall(),
re_sub(), re_split(), re_escape() |
{{ re_search(Param.Dataset.stem, r'_v(\d+)')[1] }} |
| Caminhos | /para + unir, acrescentar 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(), indexação[,,[,sorted(),reversed(),unique(), flatten() range() |
{{ [Param.OutputDir / f for f in Param.Files] }} |
| Citação de script | repr_sh()para bash, repr_pwsh() para PowerShell, repr_cmd() para Windows CMD, para repr_py() Python, para JSON repr_json() |
{{ repr_pwsh(list(Task.Param.Frame)) }} |
| Validação | fail(interrompe a criação de empregos com uma mensagem |
{{ Param.Count if Param.Count > 0 else fail('Count must be positive') }} |
A with_number() função substitui o número do quadro em um nome de arquivo, independentemente de o nome conter um espaço reservado ou um número real. Ele reconhece o preenchimento de hash####, como no estilo printf%04d, e uma sequência de dígitos, como0001, e preenche o resultado na mesma largura. Portanto, o valor de um parâmetro pode ser um padrão ou o primeiro arquivo de uma sequência: path('/renders/shot_####.exr')path('/renders/shot_%04d.exr'),, e path('/renders/shot_0001.exr') todos fornecem /renders/shot_0072.exrwith_number(72). Quando o nome não tem nada disso, a função acrescenta um número de quatro dígitos à raiz.
Alguns comportamentos são diferentes do Python. Os or operadores and e retornam somente um de seus operandos false e null contam como falsos; portanto0, uma string vazia e uma lista vazia não o fazem. Isso cria or uma forma de fornecer um substituto para um valor não definido: {{ Param.OutputName or Param.InputFile.stem }} usa o nome do arquivo de entrada quando o parâmetro opcional énull, e uma string vazia é mantida conforme fornecida. A condição em deve ser booleana. Os números inteiros são de 64 bits e um estouro é um erro em vez de uma quebra silenciosa. Comparar valores de tipos diferentes com a if test else
b== é false em vez de um erro, exceto que int compara com float e string compara com. path Os literais JSONnull,true, e false são aceitos junto com NoneTrue, e. False
Para saber mais, consulte os seguintes recursos:
-
A linguagem de expressão do Open Job Description
no GitHub site — a gramática, o sistema de tipos, as regras de avaliação e cada operador e função com sua assinatura. -
Adicionar expressões a um modelo de trabalho— Adicione expressões a um modelo.