一个小型的TOML编写器
项目描述
Tomli-W
一个小型的TOML编写器
目录 由mdformat-toc生成
简介
Tomli-W是一个用于写入TOML的Python库。它是只读解析器Tomli的写入对应物,Tomli是一个只读TOML解析器。Tomli-W与TOML v1.0.0完全兼容。
安装
pip install tomli-w
使用
写入字符串
import tomli_w
doc = {"table": {"nested": {}, "val3": 3}, "val2": 2, "val1": 1}
expected_toml = """\
val2 = 2
val1 = 1
[table]
val3 = 3
[table.nested]
"""
assert tomli_w.dumps(doc) == expected_toml
写入文件
import tomli_w
doc = {"one": 1, "two": 2, "pi": 3}
with open("path_to_file/conf.toml", "wb") as f:
tomli_w.dump(doc, f)
常见问题解答
Tomli-W是否会排序文档?
不会,但它会尊重输入数据的排序顺序,因此可以在调用tomli_w.dumps
之前递归地对字典的内容进行排序。
Tomli-W支持写入带注释或自定义空白符的文档吗?
不支持。
为什么Tomli-W在字符串值包含换行符时不会写入多行字符串?
选择此默认值是为了实现无损耗的解析/写入往返。
TOML 字符串可以包含换行符,其中字节必须精确,例如:
s = "here's a newline\r\n"
TOML 字符串还可以包含换行符,其中字节表示并不重要,例如:
s = """here's a newline
"""
将前一个示例转换为后一个示例的解析/写入往返过程不会保留原始换行字节序列。这就是为什么 Tomli-W 避免写入多行字符串。
为不需要保留换行字节的用户提供关键字参数
import tomli_w
doc = {"s": "here's a newline\r\n"}
expected_toml = '''\
s = """
here's a newline
"""
'''
assert tomli_w.dumps(doc, multiline_strings=True) == expected_toml
Tomli-W 的输出是否保证是有效的 TOML?
不是。如果您的输入数据可能有问题并且您需要输出验证,请使用 tomli.loads
一次解析输出字符串。如果解析成功(不会引发 tomli.TOMLDecodeError
),则该字符串是有效的 TOML。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
tomli_w-1.0.0.tar.gz (6.5 kB 查看哈希值)
构建分布
tomli_w-1.0.0-py3-none-any.whl (6.0 kB 查看哈希值)