기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
표현식 빠른 참조
표현식은 Python 표현식 구문의 하위 집합을 사용합니다. 값에는 bool, , int, float, string, path range_expr또는 유형 중 하나가 있습니다list[. 작업 파라미터는 선언된 유형의 소문자 형식을 가지므로 T]PATH 파라미터는 path 값이고 CHUNK[INT] 작업 파라미터는 입니다range_expr. 모든 함수는 첫 번째 인수에서 메서드로 호출될 수도 있으므로 upper(Param.Name) 및 Param.Name.upper()는 동일합니다. 이 페이지에는 작업 템플릿이 가장 많이 사용하는 언어의 부분이 나열됩니다. 전체 함수 라이브러리는 GitHub 웹 사이트의 Open Job Description 함수 라이브러리
다음 변수를 사용할 수 있습니다. 작업 파라미터는 작업이 생성될 때 알려져 있으므로 Param 값만 사용하는 표현식이 평가됩니다. 작업 및 세션 변수는 작업자에서만 알 수 있으므로 이를 사용하는 표현식은 제출 시 유형이 확인되고 작업이 실행될 때 평가됩니다.
| 변수 | 유형 | 설명 |
|---|---|---|
Param. |
선언된 유형 | 작업 파라미터 값입니다. PATH 및 LIST[PATH] 파라미터의 경우 경로 매핑 규칙이 적용되었습니다. |
RawParam. |
string |
경로 매핑 전에 제출된 PATH 파라미터의 원래 값입니다. 를 호출하기 전에 다른 운영 체제의 경로를 조작하는 데 사용합니다apply_path_mapping(). |
Task.Param. |
선언된 유형 | 작업 파라미터 값입니다. CHUNK[INT] 파라미터는 입니다. list()를 range_expr호출하여 프레임을 반복합니다. |
Task.File.,
Env.File. |
path |
임베디드 파일이 작성된 작업자의 위치입니다. |
Session.WorkingDirectory |
path |
작업자에 대한 세션의 임시 작업 디렉터리입니다. |
Job.Name, Step.Name |
string |
확인된 작업 이름과 현재 단계 이름입니다. |
다음 연산자와 함수는 대부분의 템플릿 로직을 다룹니다.
| 카테고리 | 연산자 및 함수 | 예제 |
|---|---|---|
| Arithmetic | + - * / // % **, abs(), min(),
max(), sum(), floor(), ceil(),
round() |
{{ min(Param.FrameRange) }} 프레임 범위 파라미터의 첫 번째 및 마지막 프레임에 {{ max(Param.FrameRange) }} 대한 및 |
| 비교 및 로직 | == != < <= > >=, in, not
in, and, or, not,
|
{{ 'large' if Param.Epochs >= 100 else 'small' }} |
| 변환 | string(), int(), float(),
bool(), path(), list(),
range_expr() |
{{ len(list(Task.Param.Frame)) }} |
| 문자열 | upper(), lower(), strip(), replace(), split(), join(), startswith(), endswith(), zfill(), , removeprefix(), removesuffix(), 자르기 [ |
{{ zfill(Task.Param.Frame, 4) }} |
| 정규식 | re_match(), re_search(), re_findall(),
re_sub(), re_split(), re_escape() |
{{ re_search(Param.Dataset.stem, r'_v(\d+)')[1] }} |
| 경로 | / 조인, 텍스트 + 추가, , .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(), 인덱싱, [, [sorted(), reversed(), unique(), flatten(), range() |
{{ [Param.OutputDir / f for f in Param.Files] }} |
| 스크립트 인용 | repr_sh() for bash, repr_pwsh() for PowerShell, repr_cmd() for Windows CMD, repr_py() for Python, repr_json() for JSON |
{{ repr_pwsh(list(Task.Param.Frame)) }} |
| 검증 | fail( 메시지와 함께 작업 생성을 중지합니다. |
{{ Param.Count if Param.Count > 0 else fail('Count must be positive') }} |
with_number() 함수는 이름에 자리 표시자 또는 실제 번호가 있는지 여부에 관계없이 파일 이름의 프레임 번호를 대체합니다. 와 같은 해시 패딩####, printf 스타일 %04d,와 같은 숫자 실행0001을 인식하고 결과를 동일한 너비로 패딩합니다. 따라서 파라미터 값은 패턴이거나 시퀀스의 첫 번째 파일일 수 있습니다. path('/renders/shot_####.exr'), path('/renders/shot_%04d.exr')및 path('/renders/shot_0001.exr') 모두에 /renders/shot_0072.exr를 제공합니다with_number(72). 이름에이 중 하나가 없는 경우 함수는 4자리 숫자를 어간에 추가합니다.
몇 가지 동작은 Python과 다릅니다. and 및 or 연산자는 피연산자 중 하나를 반환하고 및 만 false로 false null 계산되므로 0, 빈 문자열 및 빈 목록은 반환하지 않습니다. 이렇게 or 하면 설정되지 않은 값에 대한 대체를 제공할 수 있습니다.는 선택적 파라미터가 일 때 입력 파일의 이름을 {{ Param.OutputName or Param.InputFile.stem }} 사용하고 null빈 문자열은 지정된 대로 유지됩니다. 의 조건은 부울이어야 합니다. 정수는 64비트이고 오버플로는 자동 래핑이 아닌 오류입니다. 가와 비교a if test else bfloat되고 ==가와 int 비교된다는 점을 제외하면 다른 유형의 값을와 string 비교하는 것은 오류가 false 아닙니다path. JSON 리터럴 null, true및 false는 None, True및와 함께 허용됩니다False.
자세한 정보는 다음 자료를 참조하세요.
-
GitHub 웹 사이트의 Open Job Description 표현식 언어
- 문법, 유형 시스템, 평가 규칙, 서명이 있는 모든 연산자 및 함수입니다. -
작업 템플릿에 표현식 추가 - 템플릿에 표현식을 추가합니다.