Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Référence rapide d'expressions
Les expressions utilisent un sous-ensemble de la syntaxe des expressions Python. Les valeurs sont de l'un des types suivants : bool int floatstring,,path,range_expr, oulist[. Les paramètres de Job ont la forme en minuscules de leur type déclaré, donc un T]PATH paramètre est une path valeur et un paramètre de CHUNK[INT] tâche est un. range_expr Toute fonction peut également être appelée en tant que méthode sur son premier argument, donc upper(Param.Name) et Param.Name.upper() sont identiques. Cette page répertorie les parties du langage les plus utilisées par les modèles de tâches. Pour consulter la bibliothèque de fonctions complète, consultez la bibliothèque de fonctions Open Job Description
Les variables suivantes sont disponibles. Les paramètres du job sont connus lorsque le job est créé, de sorte qu'une expression qui utilise uniquement Param des valeurs est alors évaluée. Les variables de tâche et de session étant connues uniquement par le travailleur, une expression qui les utilise est vérifiée au moment de la soumission et évaluée lors de l'exécution de la tâche.
| Variable | Type | Description |
|---|---|---|
Param. |
Type déclaré | Une valeur de paramètre de tâche. Pour les LIST[PATH] paramètres PATH et les paramètres, les règles de mappage des chemins ont été appliquées. |
RawParam. |
string |
La valeur d'origine d'un PATH paramètre tel qu'il a été soumis, avant le mappage du chemin. Utilisez-le pour manipuler un chemin depuis un autre système d'exploitation avant d'appelerapply_path_mapping(). |
Task.Param. |
Type déclaré | Une valeur de paramètre de tâche. Un CHUNK[INT] paramètre est un range_expr ; list() appelez-le pour itérer les images. |
Task.File.,
Env.File. |
path |
Emplacement sur le worker où un fichier intégré a été écrit. |
Session.WorkingDirectory |
path |
Le répertoire de travail temporaire de la session sur le travailleur. |
Job.Name, Step.Name |
string |
Le nom de la tâche résolue et le nom de l'étape actuelle. |
Les opérateurs et fonctions suivants couvrent la majeure partie de la logique des modèles.
| Catégorie | Opérateurs et fonctions | Exemple |
|---|---|---|
| Arithmétique | + - * / // % **, abs(), min(),
max(), sum(), floor(), ceil(),
round() |
{{ min(Param.FrameRange) }}et {{ max(Param.FrameRange) }} pour la première et la dernière image d'un paramètre de plage d'images |
| Comparaison et logique | == != < <= > >=, in, not
in, and, or, not,
|
{{ 'large' if Param.Epochs >= 100 else 'small' }} |
| Conversion | string(), int(), float(),
bool(), path(), list(),
range_expr() |
{{ len(list(Task.Param.Frame)) }} |
| Chaînes | upper(),lower(),strip(),,replace(),split(),join(),startswith(),endswith(),zfill(),, removeprefix()removesuffix(), trancher [ |
{{ zfill(Task.Param.Frame, 4) }} |
| Expressions régulières | re_match(), re_search(), re_findall(),
re_sub(), re_split(), re_escape() |
{{ re_search(Param.Dataset.stem, r'_v(\d+)')[1] }} |
| Chemins | /pour joindre, + pour ajouter du texte.name,.stem,.suffix,.parent,.parts,with_suffix(),with_stem(),with_number(), as_posix() apply_path_mapping() |
{{ Param.OutputPattern.with_number(Task.Param.Frame) }} |
| Lists | len(), indexation[,,[,sorted(),reversed(),unique(), flatten() range() |
{{ [Param.OutputDir / f for f in Param.Files] }} |
| Citation de scripts | repr_sh()pour bash, repr_pwsh() pour PowerShell, repr_cmd() pour Windows CMD, pour repr_py() Python, repr_json() pour JSON |
{{ repr_pwsh(list(Task.Param.Frame)) }} |
| Validation | fail(arrête la création d'emplois par un message |
{{ Param.Count if Param.Count > 0 else fail('Count must be positive') }} |
La with_number() fonction remplace le numéro de cadre dans le nom d'un fichier, que le nom contienne un espace réservé ou un nombre réel. Il reconnaît le remplissage par hachage tel que le #### style printf %04d et une série de chiffres tels que0001, et il ajoute le résultat à la même largeur. Ainsi, une valeur de paramètre peut être un modèle ou le premier fichier d'une séquence :path('/renders/shot_####.exr'),path('/renders/shot_%04d.exr'), et path('/renders/shot_0001.exr') toutes donnent la valeur /renders/shot_0072.exr forwith_number(72). Lorsque le nom ne contient aucune de ces valeurs, la fonction ajoute un nombre à quatre chiffres à la racine.
Quelques comportements diffèrent de ceux de Python. Les or opérateurs and et renvoient l'un de leurs opérandes, et uniquement, false et null sont considérés comme faux. Ainsi0, une chaîne vide et une liste vide ne le font pas. Cela permet de fournir or une solution de remplacement pour une valeur non définie : {{ Param.OutputName or Param.InputFile.stem }} utilise le nom du fichier d'entrée lorsque le paramètre facultatif est défininull, et une chaîne vide est conservée telle qu'elle est indiquée. La condition doit être une valeur booléenne. Les nombres entiers sont de 64 bits et un débordement est une erreur plutôt qu'une encapsulation silencieuse. La comparaison de valeurs de différents types avec a if test else
b== n'falseest pas une erreur, sauf que cela int permet de comparer avec float et de string comparer avecpath. Les littéraux JSON nulltrue, et false sont acceptés aux côtés de NoneTrue, etFalse.
Pour plus d’informations, consultez les ressources suivantes :
-
Le langage d'expression Open Job Description
sur le GitHub site Web : grammaire, système de saisie, règles d'évaluation, ainsi que chaque opérateur et fonction avec sa signature. -
Ajouter des expressions à un modèle de tâche— Ajoute des expressions à un modèle.