首页 > 解决方案 > Python 3.7 JSON - AttributeError 'dict 没有属性“读取”'

问题描述

我正在用 JSON 做简单的练习,突然间,我开始发现阻止字典转换为 JSON 并记录在文件中的错误:

导入json

我 = {
    “元素”:“一些元素”,
    “项目” : [
        1、“真”、“事”
    ],
    “嵌套”:{
        “dfadf”:“1”,
        “adfgf”:“2”
    }
}

文件 = json.load(i)

回报:

回溯(最近一次通话最后):
  文件“context-manager.py”,第 15 行,在
    文件 = json.load(i)
  文件 (...)"\AppData\Local\Programs\Python\Python37-32\lib\json\__init__.py",第 293 行,加载中
    返回负载(fp.read(),
AttributeError:“dict”对象没有属性“read”
PS (...)\json>

我尝试粘贴基本功能代码,但在尝试转储到文件时遇到相同的错误或“写入”错误。也许我的 Python 安装坏了?(我使用的是公司的笔记本,但直到昨天一切都很好) 设置:Windows 10,Python 3.7.4(使用命令 'py' 运行以不启动 Python 2.7)

非常感谢您的意见!

标签: pythonjsonpython-3.xattributeerror

解决方案


您必须打开文件并使用json.dump将 json 写入该文件

with open("filename.json", 'w+') as file:
  json.dump(file, i)

w+如果文件不存在,参数将创建文件

如果您只想将其转换为字符串而不写入文件,请使用json.dumps

json_content = json.dumps(i)

推荐阅读