Kas*_*hwa 6 python json dictionary
我有一个用单引号括起来的键值对的字典,如下所示:
filename = 'sub-310621_task-EMOTION_acq-LR_bold.nii.gz'
intended_for ={"IntendedFor", filename}
Run Code Online (Sandbox Code Playgroud)
因为我想将此字典写入 json 文件,所以我必须在两个引号之间添加文件名,例如: "sub-310621_task-EMOTION_acq-LR_bold.nii.gz"
所以输出应该是这样的:
intended_for ={"IntendedFor", "sub-310621_task-EMOTION_acq-LR_bold.nii.gz"}
Run Code Online (Sandbox Code Playgroud)
此输出将写入 test.json 文件,该文件应如下所示:
{
"IntendedFor": "sub-310621_task-EMOTION_acq-LR_bold.nii.gz"
}
Run Code Online (Sandbox Code Playgroud)
我怎么能在 python 中做到这一点?
基于文字的端部的单引号或双引号中不包括该串中-'asdf'和"asdf"代表相同的字符串。字典中的键和值实际上都不包含字符'or ",因此您不需要执行转换。
当您将 dict 转储到 JSON 时,您的 JSON 转储程序将自动用"字符包围字符串,以及其他必要的转义。例如,如果您正在使用该json模块,则可以执行以下操作
json_string = json.dumps(intended_for)
Run Code Online (Sandbox Code Playgroud)
生成格式正确的 JSON 字符串。(如果这不起作用,您还有其他一些没有向我们展示的错误。)
与其尝试自己构建 JSON 字符串,不如使用json模块进行编码。
该json.dumps()方法接受一个对象,例如带有键值对的字典,并将其转换为符合 JSON 的字符串,然后可以将其写入文件。
您使用逗号,而不是冒号创建了一个集合,而不是字典:
intended_for = {"IntendedFor", filename}
Run Code Online (Sandbox Code Playgroud)
您输入的正确代码是
filename = 'sub-310621_task-EMOTION_acq-LR_bold.nii.gz'
intended_for ={"IntendedFor": filename}
Run Code Online (Sandbox Code Playgroud)
然后你可以编码
import json
json_string = json.dumps(intended_for)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16222 次 |
| 最近记录: |