python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python读写TOML文件

Python读写TOML文件的示例代码

作者:鲸落_

TOML 文件表示(Tom's Obvious,最小语言),它的语法主要由键=值对组成,本文主要为大家详细介绍了如何使用Python读写TOML文件,感兴趣的小伙伴可以了解下

TOML 文件表示(Tom's Obvious,最小语言)。配置文件可以存储在TOML 文件中,其扩展名为 .toml。由于其语义简单,力求“最小化”,因此它应该易于阅读和编写。它还可以清楚地映射到字典。TOML 的语法主要由键=值对组成。这使得 TOML 旨在易于人们阅读和创建,同时又易于计算机解析。此外,TOML 还可用作其他配置文件格式(例如JSON 和 YAML)的替代方案。

所需模块:

通过在终端或命令提示符中执行以下命令,我们可以使用 PIP 来安装软件包。

pip install toml

TOML 文件格式

键/值对、节/表和注释构成了 TOML 文件的大部分,这些文件也需要是有效的 UTF-8 编码的 Unicode 文档。TOML 支持以下数据类型:字符串、整数、浮点型、布尔型、日期时间、数组和表(哈希表/字典)。TOML 是区分大小写的语言。以下是 TOML 文件语法的简要概述:

TOML 模块的用例

目录结构:

创建 TOML 文件

创建一个 TOML 文件,复制粘贴以下文本,然后使用扩展名 .toml 保存

[server]
host = "localhost"
port = 8080
ssl = false
[database]
url = "mongodb://localhost:27017"
name = "mydb"
username = "myuser"
password = "mypassword"
level = "info"

使用Python读取TOML文件

toml.load() 方法读取 TOML 文件的内容并将解析后的数据作为 Python 字典返回。汤姆 . dumps() 方法将数据序列化回 TOML 格式并将其作为字符串返回。最后,使用print() 方法将序列化的 TOML 数据打印到控制台。此代码可用于读取和修改存储在 TOML 文件中的配置数据,然后使用 toml.dump  () 方法将修改后的数据保存回文件中。

app.py

import toml
with open('config.toml', 'r') as f:
	config = toml.load(f)
# 从配置访问值
print(config['server']['host'])
print(config['server']['port'])
print(config['database']['username'])

输出:

使用 Python 写入 TOML 文件

然后使用toml.load() 方法将文件的内容解析到名为 config的字典中。然后,代码通过在 'database' 键下添加新的键值对来修改 config 字典中的特定值。新的键为 'level2' ,值为'新添加的信息' 。最后,使用toml.dump()方法将修改后的 config字典写回到config.toml文件中,该方法将字典转换为TOML格式并写入到文件中。文件以写模式打开,with语句确保写入后正确关闭。

输出:

再次检查 config.toml 文件

[server]
host = "localhost"
port = 8080
ssl = false
[database]
url = "mongodb://localhost:27017"
name = "mydb"
username = "myuser"
password = "mypassword"
level = "info"
level2 = "new added information"

使用Python修改TOML文件

代码首先导入 toml 库,该库提供了加载和转储 TOML 文件的功能,使用 open () 函数打开名为 config.toml 的 TOML 配置文件。该文件以读取模式('r')打开,并使用 toml.load() 函数将其内容加载到 Python 字典中。生成的字典称为 config,包含 TOML 文件中的配置数据。然后,代码通过将数据库部分中的级别值更改为“信息”来修改配置字典中的值。

最后将修改后的config字典写回到 config.toml 中再次使用 open() 函数打开文件,这次处于写入模式('w')。使用 toml.dump() 函数将修改后的字典写入文件,该函数将字典转换为 TOML 格式的字符串并将其写入文件。

app.py

import toml
# 加载TOML文件
with open('config.toml', 'r') as f:
	config = toml.load(f)
# 修改配置中的值
config['database']['level'] = 'information'
# 将修改后的配置写回文件
with open('config.toml', 'w') as f:
	toml.dump(config, f)

输出:

再次检查 config.toml 文件以查看更改:

[server]
host = "localhost"
port = 8080
ssl = false
[database]
url = "mongodb://localhost:27017"
name = "mydb"
username = "myuser"
password = "mypassword"
level = "information" 

JSON 和 TOML 文件之间的区别

Toml 和 JSON 都可以有效地表示结构化数据,但是它们在数据类型、灵活性和语法方面有所不同。选择的格式取决于您项目的具体需求以及您正在使用的工具和库。

例子:

JSONTOML
{  “employee”: {    “name”: “John Doe”,    “age”: 35,    “gender”: “male”,    “address”: “123 Main St, Anytown USA”,    “hobbies”: [“reading”, “cooking”, “hiking”],    “skills”: {      “programming_languages”: [“Python”, “Java”, “C++”],      “databases”: [“MySQL”, “PostgreSQL”, “MongoDB”]    }  } }[employee] name = “John Doe” age = 35 gender = “male” address = “123 Main St, Anytown USA” hobbies = [“reading”, “cooking”, “hiking”][employee.skills] programming_languages = [“Python”, “Java”, “C++”] databases = [“MySQL”, “PostgreSQL”, “MongoDB”]

到此这篇关于Python读写TOML文件的示例代码的文章就介绍到这了,更多相关Python读写TOML文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文