Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Referensi cepat ekspresi
Ekspresi menggunakan subset dari sintaks ekspresi Python. Nilai memiliki salah satu jenisbool,int,float,string,path,range_expr, ataulist[. Parameter Job memiliki bentuk huruf kecil dari tipe yang dideklarasikan, sehingga T]PATH parameter adalah path nilai dan parameter CHUNK[INT] tugas adalah. range_expr Fungsi apa pun juga dapat disebut sebagai metode pada argumen pertamanya, jadi upper(Param.Name) dan Param.Name.upper() sama. Halaman ini mencantumkan bagian-bagian bahasa yang paling sering digunakan oleh templat pekerjaan. Untuk pustaka fungsi lengkap, lihat pustaka fungsi Open Job Description
Variabel berikut tersedia. Parameter Job diketahui ketika pekerjaan dibuat, sehingga ekspresi yang hanya menggunakan Param nilai dievaluasi kemudian. Variabel tugas dan sesi hanya diketahui pada pekerja, sehingga ekspresi yang menggunakannya diperiksa tipe saat pengiriman dan dievaluasi saat tugas berjalan.
| Variabel | Tipe | Deskripsi |
|---|---|---|
Param. |
Jenis yang dideklarasikan | Nilai parameter pekerjaan. Untuk PATH dan LIST[PATH] parameter, aturan pemetaan jalur telah diterapkan. |
RawParam. |
string |
Nilai asli PATH parameter seperti yang dikirimkan, sebelum pemetaan jalur. Gunakan untuk memanipulasi jalur dari sistem operasi lain sebelum meneleponapply_path_mapping(). |
Task.Param. |
Jenis yang dideklarasikan | Nilai parameter tugas. CHUNK[INT]Parameter adalahrange_expr; panggil list() untuk mengulang frame. |
Task.File.,
Env.File. |
path |
Lokasi pada pekerja tempat file tertanam ditulis. |
Session.WorkingDirectory |
path |
Direktori kerja sementara sesi pada pekerja. |
Job.Name, Step.Name |
string |
Nama pekerjaan yang diselesaikan dan nama langkah saat ini. |
Operator dan fungsi berikut mencakup sebagian besar logika template.
| Kategori | Operator dan fungsi | Contoh |
|---|---|---|
| Aritmatika | + - * / // % **, abs(), min(),
max(), sum(), floor(), ceil(),
round() |
{{ min(Param.FrameRange) }}dan {{ max(Param.FrameRange) }} untuk frame pertama dan terakhir dari parameter rentang bingkai |
| Perbandingan dan logika | == != < <= > >=, in, not
in, and, or, not,
|
{{ 'large' if Param.Epochs >= 100 else 'small' }} |
| Konversi | string(), int(), float(),
bool(), path(), list(),
range_expr() |
{{ len(list(Task.Param.Frame)) }} |
| String | upper(),lower(),,strip(),replace(),split(),join(),,startswith(),endswith(),zfill(),removeprefix(),removesuffix(), mengiris [ |
{{ zfill(Task.Param.Frame, 4) }} |
| Ekspresi reguler | re_match(), re_search(), re_findall(),
re_sub(), re_split(), re_escape() |
{{ re_search(Param.Dataset.stem, r'_v(\d+)')[1] }} |
| Jalan | /untuk bergabung, + untuk menambahkan teks,.name,.stem,.suffix,.parent,.parts,with_suffix(),with_stem(),with_number(), as_posix() apply_path_mapping() |
{{ Param.OutputPattern.with_number(Task.Param.Frame) }} |
| Daftar | len(), pengindeksan[,[,sorted(),reversed(),,unique(), flatten() range() |
{{ [Param.OutputDir / f for f in Param.Files] }} |
| Kutipan skrip | repr_sh()untuk bash, repr_pwsh() untuk PowerShell, repr_cmd() untuk Windows CMD, untuk repr_py() Python, untuk JSON repr_json() |
{{ repr_pwsh(list(Task.Param.Frame)) }} |
| Validasi | fail(menghentikan penciptaan pekerjaan dengan pesan |
{{ Param.Count if Param.Count > 0 else fail('Count must be positive') }} |
with_number()Fungsi ini menggantikan nomor bingkai dalam nama file, apakah nama tersebut memegang placeholder atau nomor aktual. Ini mengenali padding hash seperti####, gaya cetak, dan serangkaian digit seperti %04d0001, dan itu membungkus hasilnya dengan lebar yang sama. Jadi nilai parameter dapat berupa pola atau file pertama dari urutan:path('/renders/shot_####.exr'),path('/renders/shot_%04d.exr'), dan path('/renders/shot_0001.exr') semua memberi /renders/shot_0072.exrwith_number(72). Ketika nama tidak memiliki ini, fungsi menambahkan angka empat digit ke batang.
Beberapa perilaku berbeda dari Python. orOperator and dan mengembalikan salah satu operan mereka, dan hanya false dan null menghitung sebagai false0, jadi, string kosong, dan daftar kosong tidak. Ini or membuat cara untuk menyediakan fallback untuk nilai yang tidak disetel: {{ Param.OutputName or Param.InputFile.stem }} menggunakan nama file input ketika parameter opsionalnull, dan string kosong disimpan seperti yang diberikan. Kondisi di harus boolean. Bilangan bulat adalah 64-bit dan overflow adalah kesalahan daripada bungkus diam. Membandingkan nilai dari berbagai jenis dengan a if test else
b== false bukan kesalahan, kecuali yang int membandingkan dengan float dan string membandingkan dengan. path Literal JSONnull,true, dan false diterima bersamaNone,True, dan. False
Untuk informasi selengkapnya, lihat sumber daya berikut:
-
Bahasa ekspresi Open Job Description
di GitHub situs web — Tata bahasa, sistem tipe, aturan evaluasi, dan setiap operator dan fungsi dengan tanda tangannya. -
Menambahkan ekspresi ke template pekerjaan— Tambahkan ekspresi ke template.