tomllib --- Phân tích tập tin TOML¶
Added in version 3.11.
Source code: Lib/tomllib
Mô-đun này cung cấp giao diện để phân tích cú pháp TOML 1.0.0 (Ngôn ngữ tối thiểu rõ ràng của Tom, https://toml.io). Mô-đun này không hỗ trợ viết TOML.
Xem thêm
Tomli-W package là một trình ghi TOML có thể được sử dụng cùng với mô-đun này, cung cấp khả năng ghi API quen thuộc với người dùng mô-đun thư viện marshal và pickle tiêu chuẩn.
Xem thêm
TOML Kit package là thư viện TOML bảo toàn kiểu dáng với cả khả năng đọc và ghi. Đây là sự thay thế được khuyến nghị cho mô-đun này để chỉnh sửa các tệp TOML hiện có.
Mô-đun này xác định các chức năng sau:
- tomllib.load(fp, /, *, parse_float=float)¶
Đọc tệp TOML. Đối số đầu tiên phải là một đối tượng tệp nhị phân và có thể đọc được. Trả về
dict. Chuyển đổi các loại TOML sang Python bằng conversion table này.parse_float sẽ được gọi với chuỗi của mỗi float TOML được giải mã. Theo mặc định, điều này tương đương với
float(num_str). Điều này có thể được sử dụng để sử dụng kiểu dữ liệu hoặc trình phân tích cú pháp khác cho các số float TOML (ví dụ:decimal.Decimal). Hàm có thể gọi không được trả vềdicthoặclist, nếu không thìValueErrorsẽ được nâng lên.Một
TOMLDecodeErrorsẽ xuất hiện trên một tài liệu TOML không hợp lệ.
- tomllib.loads(s, /, *, parse_float=float)¶
Tải TOML từ đối tượng
str. Trả vềdict. Chuyển đổi các loại TOML sang Python bằng conversion table này. Đối số parse_float có cùng ý nghĩa như trongload().Một
TOMLDecodeErrorsẽ xuất hiện trên một tài liệu TOML không hợp lệ.
Các ngoại lệ sau đây có sẵn:
- exception tomllib.TOMLDecodeError(msg, doc, pos)¶
Lớp con của
ValueErrorvới các thuộc tính bổ sung sau:- msg¶
Thông báo lỗi không được định dạng.
- doc¶
Tài liệu TOML đang được phân tích cú pháp.
- pos¶
Chỉ mục của doc nơi phân tích cú pháp không thành công.
- lineno¶
Dòng tương ứng với pos.
- colno¶
Cột tương ứng với pos.
Thay đổi trong phiên bản 3.14: Đã thêm các thông số msg, doc và pos. Đã thêm các thuộc tính
msg,doc,pos,linenovàcolno.Sắp loại bỏ từ phiên bản 3.14: Truyền đối số vị trí dạng tự do không được dùng nữa.
Ví dụ¶
Phân tích tệp TOML:
nhập tomlib
với open("pyproject.toml", "rb") là f:
dữ liệu = tomllib.load(f)
Phân tích chuỗi TOML:
nhập tomlib
toml_str = """
phiên bản python = "3.11.0"
triển khai python = "CPython"
"""
dữ liệu = tomllib.loads(toml_str)
Bảng chuyển đổi¶
TOML |
Python |
|---|---|
tài liệu TOML |
mệnh lệnh |
chuỗi |
str |
số nguyên |
int |
phao |
float (có thể định cấu hình bằng parse_float) |
boolean |
bool |
ngày giờ bù đắp |
datetime.datetime (thuộc tính |
ngày giờ địa phương |
datetime.datetime (thuộc tính |
ngày địa phương |
datetime.date |
giờ địa phương |
ngày giờ.giờ |
mảng |
danh sách |
bàn |
mệnh lệnh |
bảng nội tuyến |
mệnh lệnh |
mảng bảng |
danh sách các lệnh |