Introduction
This chapter introduces the tomllib
library, a built-in Python module for parsing TOML (Tom's Obvious Minimal Language) files. TOML is a human-readable configuration file format gaining popularity due to its simplicity and ease of use. tomllib
allows developers to easily read and access configuration data stored in TOML files, making it ideal for managing server configurations in Python applications.
Topics:
- Creating a TOML File with toml Library.
- Reading a TOML File with tomllib.
- Conclusion.
Creating a TOML File with toml Library
While tomllib
itself doesn't offer functionalities for writing TOML files, we can leverage the toml
library for this purpose (the library can be found here). Here's an example:
import toml
# Define server configuration data as a dictionary
server_config = {
"host": "localhost",
"port": 8080,
"database": {
"name": "my_database",
"user": "admin",
"password": "secret"
}
}
# Write the dictionary to a TOML file
with open(file="server.toml", mode="w") as f:
toml.dump(server_config, f)
The above code creates a file named server.toml
with the following content:
Output:
host = "localhost"
port = 8080
[database]
name = "my_database"
user = "admin"
password = "secret"
Reading a TOML File with tomllib
Now, let's use tomllib
to read the configuration data from the created TOML file:
import tomllib
# Read the TOML file
with open(file="server.toml", mode="rb") as f:
config = tomllib.load(f)
# Access configuration values
print(f"Server host: {config['host']}")
print(f"Server port: {config['port']}")
print(f"Database name: {config['database']['name']}")
Output:
Server host: localhost
Server port: 8080
Database name: my_database
This code successfully reads the TOML file and accesses the configuration values using dictionary-like syntax.
Conclusion:
By combining toml
for writing and tomllib
for reading, we can effectively manage server configurations in Python applications using TOML files. This approach offers a clean separation between configuration data and code, improving maintainability and readability. Remember, while tomllib
is included in Python 3.11 onwards, you might need to install the toml
library using pip install toml
.
Top comments (0)