View a markdown version of this page

Referência rápida de expressões - Nuvem de prazos

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[T]. Os parâmetros de Job têm a forma minúscula do tipo declarado, então um 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 no GitHub site.

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.Name Tipo declarado Um valor de parâmetro do trabalho. Para LIST[PATH] parâmetros PATH e, regras de mapeamento de caminhos foram aplicadas.
RawParam.Name 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.Name 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.Name, Env.File.Name 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, a if test else b {{ '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 [start:stop] {{ 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[i],,[expr for x in list],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(message)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 a if test else b 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 == é 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: