python – 将单引号转换为Dictionary键/值对的双引号

我在单引号中有一个带键值对的词典,如下所示:

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

我想把这个字典写成一个json文件,我必须在两个引号之间有文件名,例如:“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中做到这一点?

最佳答案 您应该使用
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)
点赞