โต๊ะมิ้นต์มีสมุดคอนฟิกและบล็อกพาร์สค่าที่เรียงเป็นชั้น

python tomllib: อ่านไฟล์ตั้งค่า TOML ด้วยไลบรารีในมาตรฐาน

น้องกายEngineering

ถ้าโปรเจกต์คุณยังพึ่งไลบรารีภายนอกแค่เพื่ออ่านไฟล์ .toml ลองดูของในมาตรฐานก่อนครับ

tomllib เป็นโมดูลในมาตรฐาน Python สำหรับ อ่าน TOML (Tom’s Obvious Minimal Language) ซึ่งเป็นรูปแบบข้อความเก็บค่าตั้งค่าแบบมีตารางและคีย์

โมดูลนี้โฟกัสการอ่าน ไม่มีตัวเขียนไฟล์ในมาตรฐาน

ตัวอย่างสั้น ๆ

import tomllib
import unittest

SAMPLE = b"""
[app]
name = "showkhun"
debug = true

[limits]
retries = 3
"""

class TomllibTest(unittest.TestCase):
    def test_loads_nested_tables(self):
        data = tomllib.loads(SAMPLE.decode("utf-8"))
        self.assertEqual(data["app"]["name"], "showkhun")
        self.assertTrue(data["app"]["debug"])
        self.assertEqual(data["limits"]["retries"], 3)

if __name__ == "__main__":
    unittest.main()

Recap

  • ใช้ tomllib.loads กับสตริง หรือ tomllib.load กับไฟล์โหมด binary
  • อย่าหา writer ในมาตรฐาน ถ้าต้องเขียนให้ใช้ไลบรารีอื่นอย่างมีสติ
  • ใส่เทสสั้น ๆ ให้คอนฟิกสำคัญไม่พังเงียบ