Jawaban singkatnya
- TOML adalah format konfigurasi teks yang memetakan kunci dan nilai ke tabel hash tanpa ambiguitas, dengan nama yang membedakan huruf besar dan kecil serta kewajiban memakai UTF-8 yang valid.
- Buka file .toml dengan editor teks. Di Windows, gunakan perintah Buka; di Mac, pilih mode teks biasa; di ponsel, gunakan aplikasi yang dapat membuka teks UTF-8. Pertahankan UTF-8 saat menyimpan. Tampilan teks tidak memvalidasi sintaks. Python dapat menguraikannya dengan tomllib.load() atau tomllib.loads(); dokumen tidak valid memunculkan TOMLDecodeError.
- Registrasi IANA menyatakan bahwa TOML tidak mengandung konten yang dapat dieksekusi. Namun, masukan berbahaya dapat menghabiskan banyak CPU dan memori saat diuraikan. Batasi ukuran data sebelum penguraian. Penguraian yang berhasil tidak membuktikan bahwa isinya dapat dipercaya.
File TOML: membuka, mengedit, dan mengonversi konfigurasi
TOML merupakan singkatan dari Tom's Obvious, Minimal Language. Strukturnya memakai key = value dan mendukung string, bilangan bulat, angka floating-point, boolean, tanggal dan waktu, array, tabel, serta array tabel. Komentar diawali #. Jenis media terdaftarnya adalah application/toml, ekstensinya .toml, dan tidak ada byte penanda tetap.
tomllib membaca TOML menjadi dictionary Python, tetapi tidak dapat menulis TOML. Dokumentasi Python merekomendasikan TOML Kit untuk mengedit file yang sudah ada sambil mempertahankan gaya penulisannya. Konversi melalui dictionary saja tidak menjamin komentar dan format tetap utuh. Angka floating-point dapat dibulatkan; parse_float memungkinkan pemilihan decimal.Decimal.
Cara membukanya
Buka file .toml dengan editor teks. Di Windows, gunakan perintah Buka; di Mac, pilih mode teks biasa; di ponsel, gunakan aplikasi yang dapat membuka teks UTF-8. Pertahankan UTF-8 saat menyimpan. Tampilan teks tidak memvalidasi sintaks. Python dapat menguraikannya dengan tomllib.load() atau tomllib.loads(); dokumen tidak valid memunculkan TOMLDecodeError.
Buka file .toml dengan editor teks. Di Windows, gunakan perintah Buka; di Mac, pilih mode teks biasa; di ponsel, gunakan aplikasi yang dapat membuka teks UTF-8. Pertahankan UTF-8 saat menyimpan. Tampilan teks tidak memvalidasi sintaks. Python dapat menguraikannya dengan tomllib.load() atau tomllib.loads(); dokumen tidak valid memunculkan TOMLDecodeError.
tomllib membaca TOML menjadi dictionary Python, tetapi tidak dapat menulis TOML. Dokumentasi Python merekomendasikan TOML Kit untuk mengedit file yang sudah ada sambil mempertahankan gaya penulisannya. Konversi melalui dictionary saja tidak menjamin komentar dan format tetap utuh. Angka floating-point dapat dibulatkan; parse_float memungkinkan pemilihan decimal.Decimal.
Keamanan file
Registrasi IANA menyatakan bahwa TOML tidak mengandung konten yang dapat dieksekusi. Namun, masukan berbahaya dapat menghabiskan banyak CPU dan memori saat diuraikan. Batasi ukuran data sebelum penguraian. Penguraian yang berhasil tidak membuktikan bahwa isinya dapat dipercaya.
Pengirim tidak dikenal, nama yang berakhir dengan dua ekstensi, atau isi yang tidak cocok dengan ekstensinya — periksa dulu sebelum dibuka.
Soal konversi
tomllib membaca TOML menjadi dictionary Python, tetapi tidak dapat menulis TOML. Dokumentasi Python merekomendasikan TOML Kit untuk mengedit file yang sudah ada sambil mempertahankan gaya penulisannya. Konversi melalui dictionary saja tidak menjamin komentar dan format tetap utuh. Angka floating-point dapat dibulatkan; parse_float memungkinkan pemilihan decimal.Decimal.
Konversikan salinannya, jangan file aslinya, lalu bandingkan kualitas, metadata, dan tata letaknya dengan file awal.
Pertanyaan umum
Apa itu file TOML dan apa kegunaannya?
File TOML menyimpan konfigurasi sebagai teks dengan penetapan key = value yang dipetakan ke tabel hash tanpa ambiguitas. Nama membedakan huruf besar dan kecil, dan file harus memakai UTF-8 yang valid.
Bagaimana cara membuka file TOML di Windows?
Jalankan editor teks lalu pilih file .toml melalui perintah Buka. Jika filter menyembunyikannya, pilih semua file. Simpan perubahan dengan pengodean UTF-8.
Bagaimana cara mengedit file TOML di Mac?
Buka file dalam editor dengan mode teks biasa. Pertahankan sintaks key = value dan simpan sebagai teks UTF-8 dengan ekstensi .toml.
Bagaimana cara membuka file TOML di ponsel?
Pilih file di aplikasi editor teks yang dapat membuka file UTF-8. Akses file dan kemampuan mengedit bergantung pada aplikasi. Teks yang dapat ditampilkan belum tentu memiliki sintaks TOML yang valid.
Mengapa muncul TOMLDecodeError saat membaca file TOML?
Python memunculkan galat ini untuk dokumen TOML yang tidak valid. Periksa penetapan nilai, tanda kutip, deklarasi tabel, dan UTF-8. Periksa juga versi: Python 3.11 memperkenalkan tomllib untuk TOML 1.0.0; Python 3.15 menambahkan TOML 1.1.0.
Sebaiknya memakai editor teks atau pengurai Python untuk TOML?
Gunakan editor teks untuk membaca atau mengubah teks aslinya. Gunakan tomllib untuk memperoleh dictionary dan mendeteksi TOML tidak valid. tomllib hanya membaca, sehingga tidak menulis file atau mempertahankan tata letak teks untuk diedit.
Bagaimana mengonversi TOML tanpa kehilangan komentar dan format?
Mengubahnya menjadi dictionary tidak menjamin gaya asli tetap utuh. Dokumentasi Python merekomendasikan TOML Kit untuk pengeditan yang mempertahankan gaya serta mendukung baca dan tulis. Periksa komentar dan format pada hasil konversi.
Apa risiko menguraikan file TOML yang tidak tepercaya?
Menurut IANA, TOML tidak mengandung konten yang dapat dieksekusi. Namun, masukan berbahaya dapat menghabiskan banyak CPU dan memori. Batasi ukurannya sebelum penguraian; tidak ada ukuran universal yang dijamin aman di sini.
Apakah presisi angka floating-point dalam TOML dapat berubah saat dibaca?
Ya. TOML merekomendasikan setidaknya IEEE 754 binary64, dan nilai dengan lebih dari 15 digit desimal signifikan dapat dibulatkan. Pada tomllib, gunakan parse_float=decimal.Decimal untuk memilih tipe desimal.
Bagaimana cara membaca file TOML dengan Python?
Gunakan tomllib.load() untuk file yang dibuka dalam mode biner, atau tomllib.loads() untuk string. Keduanya menghasilkan dictionary. Modul ini tersedia di pustaka standar sejak Python 3.11 dan hanya mendukung pembacaan.
Apakah penguraian TOML yang berhasil membuktikan konfigurasi dapat dipercaya?
Tidak. Keberhasilan hanya berarti pengurai menerima dokumen tersebut. Hal itu tidak memverifikasi sumber, ketepatan nilai, atau kesesuaian konfigurasi untuk penggunaan yang dimaksud.
Format terkait
Sumber
TOML v1.1.0 官方规范 · TOML 官方项目
application/toml 媒体类型登记 · IANA
tomllib — Parse TOML files · Python 官方文档
Tom's Obvious, Minimal Language · 美国国会图书馆