首页 > 其他分享 >在`tomlkit`库中,`doc.as_string()`和`tomlkit.dumps(doc)`都可以将TOML文档转换为字符串,但它们的用途略有不同¹。 - `tomlkit.dumps(d

在`tomlkit`库中,`doc.as_string()`和`tomlkit.dumps(doc)`都可以将TOML文档转换为字符串,但它们的用途略有不同¹。 - `tomlkit.dumps(d

时间:2023-11-14 10:05:32浏览次数:25  
标签:string doc dumps TOML https tomlkit

`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

相关文章

  • 在`tomlkit`库中,`parse`函数用于将TOML格式的字符串解析为一个`Document`对象¹。以下
    #parse与节点(.)importtomlkit#TOML格式的字符串toml_str="""[tool.poetry]name="my-package"version="0.1.0"description="Mypackagedescription"authors=["Me<[email protected]>"]"&qu......
  • docker异常unable to add return rule in DOCKER-ISOLATION-STAGE-1 chain
    docker重装启动异常 INFO[2021-03-09T15:06:20.839195000+08:00]Loadingcontainers:start.INFO[2021-03-09T15:06:20.885624800+08:00]stoppingeventstreamfollowinggracefulshutdownerror="<nil>"module=libcontainerdnamespace=mobyINFO[2021-......
  • windows 10 安装ubuntu+docker(不安装desktop docker)步骤
    windows10安装ubuntu+docker(不安装desktopdocker)步骤1.安装wsl2,ubuntu22.04参考网络文档2.powershell里运行wsl3.sudo-i4.curl-fsSLhttps://get.docker.com-oget-docker.sh5.shget-docker.sh6.servicedockerstart7.在2.1通过脚本安装docker时,会出现下面这个问......
  • 用了这么多年Docker,殊不知你还有这么多弯弯绕!
    大家好,我是哪吒。单体应用拆分成微服务后,能够实现快速开发迭代,但因为小服务太多,导致测试和部署的成本提高。单体应用中,将springboot工程打包成一个war包,然后部署在Linux服务器的Tomcat中就可以了。拆分成微服务后,修改一个需求,可能会涉及多个微服务,这个时候,被修改过的代码都需要重新......
  • Docker小用
    dockerrun-d--nameelasticsearch-p9200:9200-p9300:9300-e"discovery.type=single-node"-eES_JAVA_OPTS="-Xms64m-Xmx256m"elasticsearch......
  • docker 系列
    docker系列目录docker系列一.docker定义1nameSpnce命名空间2cgroup控制组3为什么使用容器二.docker安装三.docker初步使用命令3.1镜像相关3.2容器相关3.3第一个项目3.4存储卷挂载四.dockerfile编写4.1基础语法4.2简单使用一.docker定义1nameSpnce命名......
  • docker Nginx ssl 配置
     nginx版本:1.21.1证书获取阿里云:_xxxx.xxxxx.com.pem、_xxxx.xxxxx.key域名:xxxx.xxxxx.com一、ssl 443端口二、非443端口 nginx.confserver{#监听端口,切记,12000后面必须加ssllisten12000ssl;#域名server_namexxxx.x......
  • macOS 通过 docker 安装 redis 集群
    安装集群macOS通过docker来进行安装redis机群,解决开发环境临时使用的问题,完成本地redis集群环境搭建。安装步骤如下:查询主机ip信息,命令如下:ifconfig删除容器信息,如果步骤执行错误了,可以删除容器,然后重新执行第3步dockerrm-fredis-30001dockerrm-fredis-30002doc......
  • 使用Dockerfile构建镜像
    一、前言场景需求:例如运行一个nginx容器,容器起来后,通常不会运行在默认配置下,那因此,我们通常需要去改一改它的配置文件或者定义模块化配置文件,然后启动服务。那为什么,nginx的默认配置不符合我们的需要呢?很显然,不同的生产场景所需要用到的配置参数各个相同,因此,对方只能用一个默认......
  • x86机器上运行arm64 docker
    DockerHub上可以找到各种非x86_64平台的镜像,但是在x86上直接运行会报错:panic:standard_init_linux.go:175:execuserprocesscaused“execformaterror”[recovered]在x86_64平台上缺少运行arm32v7的Python解释器所需要的“环境依赖”,值得庆幸的是在Linux上我......