Python

Cara Membaca dan Menulis File TOML Menggunakan Python

Cara Membaca dan Menulis File TOML Menggunakan Python
TOML, kependekan dari "Tom's Obvious Minimal Language," adalah format file yang relatif baru dan populer yang berfokus pada semantik minimal untuk menulis file konfigurasi. Format file telah dibuat oleh Tom Preston-Werner, mantan CEO GitHub. Pada saat artikel ini ditulis, kandidat rilis pertama versi 1.0.0 telah ditandai, jadi spesifikasinya kurang lebih sudah selesai. Artikel ini akan memberikan pengenalan singkat tentang format file TOML dan menjelaskan bagaimana format file ini dapat digunakan dalam aplikasi dan skrip Python.

Contoh File Konfigurasi TOML

Spesifikasi untuk TOML mencakup penggunaan pasangan nilai kunci peka huruf besar/kecil. Kunci ada di sisi kiri, sedangkan nilai ada di sisi kanan; istilah-istilah ini dipisahkan di kedua sisi dengan tanda sama dengan. Pasangan nilai kunci identik dengan sintaks deklarasi variabel yang akan Anda lihat di sebagian besar bahasa pemrograman programming. Anda juga dapat menentukan tabel dan subtabel (bagian dan subbagian) dalam tanda kurung siku untuk menjaga pasangan nilai kunci tetap teratur untuk meningkatkan logika parsing dan aplikasi dalam program Anda. Nilai dapat berupa string, integer, float, boolean, array, dan tipe waktu dan tanggal. TOML memungkinkan penggunaan sintaks titik sehingga Anda dapat mendefinisikan tabel (bagian) sebagai “tabel.subtabel" atau kunci sebagai "kunci.pengenal,” juga. Ekstensi file yang digunakan untuk file TOML adalah .toml. Di bawah ini adalah contoh singkat dari file TOML:

nama = "Permainan PC"
[bawaan]
profile_name = "Profil"
nama_pemain = "Pemain"
profile_created = 1979-05-27T07:32:00-08:00
suara = benar
[pengguna]
[pengguna.Profil]
nama = "profil1"
nama_pemain = "pemain1"
kelas = "pejuang"
[pengguna.pengaturan]
suara = salah
[persediaan_default]
prajurit = [ ["pedang", "perisai"], ["baju besi pelat", "kelempung pelat"] ]
penyihir = [["staf", "tongkat"], ["jubah", "hood"]]
item = [
"ramuan kesehatan",
"penangkal",
"ramuan mana"
]

Untuk referensi, file konfigurasi yang sama ditulis dalam JSON di bawah ini:


"nama": "Permainan PC",
"bawaan":
"nama_profil": "Profil",
"player_name": "Pemain",
"profile_created": "1979-05-27T15:32:00.000Z",
"suara": benar
,
"pengguna":
"Profil":
"nama": "profil1",
"nama_pemain": "pemain1",
"kelas": "pejuang"
,
"pengaturan":
"suara": salah

,
"default_inventory":
"pejuang": [
[
"pedang",
"melindungi"
],
[
"baju besi piring",
"helm piring"
]
],
"penyihir": [
[
"staf",
"tongkat sihir"
],
[
"jubah",
"jilbab"
]
],
"barang": [
"ramuan kesehatan",
"penangkal",
"ramuan mana"
]

Perbedaan antara Format File JSON dan INI

TOML mirip dengan format JSON dan INI dalam banyak hal, dengan beberapa perbedaan yang dapat menentukan format file mana yang ingin Anda gunakan. Format file TOML menekankan keterbacaan manusia dan tampak jauh lebih bersih untuk dibaca. File INI tidak mendukung bagian bersarang dan pasangan nilai kunci bersarang. Tidak seperti JSON, TOML mengizinkan komentar (dengan simbol #). Data bersarang panjang dalam file JSON dapat ditulis dalam TOML hanya dalam beberapa baris.

Namun, dapat membingungkan untuk mengidentifikasi struktur dengan benar dalam hierarki bersarang panjang di TOML, sementara di JSON strukturnya jauh lebih jelas, meskipun data bersarang mungkin tampak bertele-tele. TOML terutama dirancang untuk file konfigurasi dan bukan untuk kumpulan data terstruktur besar, sedangkan JSON cocok untuk skala data terstruktur apa pun.

Modul TOML Python

Pustaka standar Python saat ini tidak memiliki dukungan untuk menguraikan data TOML, pada saat menulis artikel ini. Ini dapat berubah setelah TOML versi 1.0.0 dilepaskan. Untuk saat ini, Anda harus menggunakan modul Python pihak ketiga yang disebut toml. Anda dapat menginstal modul ini di Ubuntu menggunakan salah satu perintah di bawah ini:

$ sudo apt install python3-toml
$ pip3 instal toml

Mengurai File TOML Menggunakan Modul Python TOML

Mengurai file TOML menggunakan modul python3-toml cukup mudah. Anda dapat menggunakan "toml".load” untuk mengurai seluruh file, atau Anda dapat menggunakan metode “toml.load” untuk mengurai pasangan nilai kunci berformat TOML tertentuML. Dengan asumsi "data".toml” berisi string berformat TOML yang disebutkan dalam contoh di atas, kode di bawah ini akan mengurai dan mencetak data TOML sebagai kamus python:

#!/usr/bin/env python3
impor toml
cetak (toml.memuat("data.tol"))

Menjalankan kode di atas akan menghasilkan output berikut:

'name': 'Game PC', 'default': 'profile_name': 'Profile', 'player_name': 'Player',
'profile_created': datetime.datetime(1979, 5, 27, 7, 32, tzinfo=objek di 0x7f3506b3d850>), 'sound': True, 'user': 'profile': 'name': 'profile1',
'player_name': 'player1', 'class': 'warrior', 'settings': 'sound': False,
'default_inventory': 'warrior': [['sword', 'shield'], ['plate armor', 'plate helm']],
'mage': [['staff', 'wand'], ['robe', 'hood']], 'items': ['health potion', 'penangkal',
'ramuan mana']

Sekarang Anda memiliki objek kamus python, Anda dapat menerapkan logika apa pun dalam program Anda untuk menangani data kamus.

Membuang Kamus Python sebagai Data Berformat TOML

Kamus python dapat dibuang ke dalam string berformat TOML menggunakan perintah “toml.dumps”, atau objek dapat dibuang ke dalam file menggunakan “toml.membuang” metode. Contoh di bawah ini akan mengonversi objek kamus nito string berformat TOML:

#!/usr/bin/env python3
impor toml
data = toml.memuat("data.tol")
cetak (toml.dump (data))

Menjalankan kode di atas akan menghasilkan output berikut:

nama = "Permainan PC"
[bawaan]
profile_name = "Profil"
nama_pemain = "Pemain"
profile_created = 1979-05-27T07:32:00-08:00
suara = benar

[persediaan_default]
prajurit = [ [ "pedang", "perisai",], [ "baju besi pelat", "helm pelat",],]
penyihir = [ [ "tongkat", "tongkat",], [ "jubah", "hood",],]
item = [ "ramuan kesehatan", "penangkal", "ramuan mana",]

[pengguna.Profil]
nama = "profil1"
nama_pemain = "pemain1"
kelas = "pejuang"
[pengguna.pengaturan]
suara = salah

Untuk mengonversi objek kamus menjadi string berformat TOML dan menyimpannya dalam file, Anda dapat menggunakan perintah “toml.metode dump(dictionary_object, output_file)”.

Kesimpulan

File TOML dalam istilah yang lebih sederhana hanyalah file konfigurasi INI dengan struktur dan sintaks yang lebih baik, memfasilitasi penguraian yang lebih mudah dan keterbacaan yang lebih baik. Format file TOML sering dibandingkan dengan format file JSON, tetapi selain penggunaannya dalam file konfigurasi, TOML tidak memiliki banyak utilitas. JSON, di sisi lain, jauh lebih fleksibel dan dapat digunakan dalam berbagai kasus penggunaan yang membutuhkan tipe struktur data apa pun.

Tiru klik Mouse dengan mengarahkan mouse menggunakan Clickless Mouse di Windows 10
Menggunakan mouse atau keyboard dalam posisi yang salah dari penggunaan yang berlebihan dapat menyebabkan banyak masalah kesehatan, termasuk keteganga...
Tambahkan gerakan Mouse ke Windows 10 menggunakan alat gratis ini
Dalam beberapa tahun terakhir, komputer dan sistem operasi telah berkembang pesat. Ada saat ketika pengguna harus menggunakan perintah untuk menavigas...
Kontrol & kelola gerakan mouse di antara beberapa monitor di Windows 10
Manajer Mouse Tampilan Ganda memungkinkan Anda mengontrol & mengonfigurasi gerakan mouse di antara beberapa monitor, dengan memperlambat gerakannya di...