将字典键/值pai的单引号转换为双引号

2024-05-19 01:13:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个单反逗号键值对的词汇表,如下所示:

filename = 'sub-310621_task-EMOTION_acq-LR_bold.nii.gz'
intended_for ={"IntendedFor", filename}

由于我想把这个字典写到一个json文件中,我必须在两个倒逗号之间使用filename,例如:"sub-310621_task-EMOTION_acq-LR_bold.nii.gz"

所以输出应该是:

intended_for ={"IntendedFor", "sub-310621_task-EMOTION_acq-LR_bold.nii.gz"}

此输出将写入test.json文件,该文件应如下所示:

{
    "IntendedFor": "sub-310621_task-EMOTION_acq-LR_bold.nii.gz"
}

我怎么能用python做这个?


Tags: 文件jsonfortaskfilename键值逗号gz
2条回答

字符串文本末尾的撇号或引号不包含在字符串中-'asdf'"asdf"表示相同的字符串。dict中的键和值实际上都不包含字符'",因此不需要执行转换。

当您将dict转储到JSON时,JSON转储程序将自动用"字符包围字符串,以及其他必要的转义。例如,如果您使用的是json模块,则可以

json_string = json.dumps(intended_for)

生成格式正确的JSON字符串。(如果这不起作用,您还有其他一些没有显示给我们的错误。)

与其试图自己构建JSON字符串,不如使用json模块来进行编码。

json.dumps()方法接受一个对象,比如一个带键值对的字典,并将其转换为一个JSON兼容的字符串,然后可以将其写入文件。

不是字典,而是使用逗号,而不是冒号:创建一个集合

intended_for = {"IntendedFor", filename}

输入的正确代码是

filename = 'sub-310621_task-EMOTION_acq-LR_bold.nii.gz'
intended_for ={"IntendedFor": filename}

然后你可以编码

import json
json_string = json.dumps(intended_for)

相关问题 更多 >

    热门问题