`tomlkit`模块中的`doc.as_string()`和`tomlkit.dumps(doc)`都是用于将TOML文档转换为字符串的方法。然而,他们之间的主要区别在于他们的使用场景和处理方式。
- `doc.as_string()`是`TOMLDocument`类的一个方法,它将`TOMLDocument`对象转换为字符串³。这个方法主要用于在已经有一个`TOMLDocument`对象的情况下,将其转换为字符串。
- `tomlkit.dumps(doc)`函数则是将Python数据结构(如字典或列表)转换为TOML格式的字符串⁵。这个函数主要用于在你有一个Python数据结构,想要将其转换为TOML格式的字符串时使用。
总的来说,`doc.as_string()`和`tomlkit.dumps(doc)`都可以将TOML文档或数据转换为字符串,但他们的使用场景和处理方式有所不同。你可以根据你的具体需求来选择使用哪一个。²⁴⁵
源: 与必应的对话, 2023/11/14
(1) `as_string()`, `dumps()` incorrectly escape table name - GitHub. https://github.com/sdispater/tomlkit/issues/245.
(2) Quickstart - GitHub: Let’s build from here. https://github.com/sdispater/tomlkit/blob/master/docs/quickstart.rst.
(3) [Python3.11]新版本前瞻详解 - 第三期:tomllib - 哔哩哔哩. https://www.bilibili.com/read/cv19778089/.
(4) tomlkit: nicely formatted array with inline tables. https://stackoverflow.com/questions/70721025/tomlkit-nicely-formatted-array-with-inline-tables.
(5) Python and TOML: New Best Friends – Real Python. https://realpython.com/python-toml/.
在`tomlkit`库中,`doc.as_string()`和`tomlkit.dumps(doc)`都可以将TOML文档转换为字符串,但它们的用途略有不同¹。
- `tomlkit.dumps(doc)`是一个顶级函数,它接受一个`tomlkit.items.Document`对象(或者一个字典),然后将其转换为一个TOML格式的字符串¹。例如:
```python
import tomlkit
doc = tomlkit.document()
doc["key"] = "value"
toml_str = tomlkit.dumps(doc)
```
在这个例子中,`tomlkit.dumps(doc)`会返回一个字符串`'key = "value"\n'`。
- `doc.as_string()`是`tomlkit.items.Document`类的一个实例方法,它将整个`Document`对象转换为一个TOML格式的字符串¹。例如:
```python
import tomlkit
doc = tomlkit.document()
doc["key"] = "value"
toml_str = doc.as_string()
```
在这个例子中,`doc.as_string()`也会返回一个字符串`'key = "value"\n'`。
总的来说,`tomlkit.dumps(doc)`和`doc.as_string()`在功能上是相同的,都可以将整个TOML文档转换为字符串¹。你可以根据你的编程习惯选择使用哪一个。希望这个解释对你有所帮助!
源: 与必应的对话, 2023/11/14
(1) 在python中,该选择哪个toml包呢? - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/514155226.
(2) [Python3.11]新版本前瞻详解 - 第三期:tomllib - 哔哩哔哩. https://www.bilibili.com/read/cv19778089/.
(3) `as_string()`, `dumps()` incorrectly escape table name - GitHub. https://github.com/sdispater/tomlkit/issues/245.
(4) tomlkit · PyPI. https://pypi.org/project/tomlkit/.
(5) sdispater/tomlkit: Style-preserving TOML library for Python - GitHub. https://github.com/sdispater/tomlkit.
标签:string,doc,dumps,TOML,https,tomlkit From: https://blog.51cto.com/u_16055028/8361299