AttributeError:“ unicode”对象在json.dump中没有属性“ write”

时间:2018-11-09 04:00:17

标签: python json python-2.7

我正在使用Python 2.7.14。

执行此操作

# -*- coding: utf-8 -*-
from __future__ import (absolute_import, division, print_function,
                        unicode_literals)
import os
import json

def main():
    path = os.path.join(os.path.dirname(__file__), 'data-creation.json')
    with open(path, 'r+') as f:
        json_data = json.load(f)
        json.dump(json_data, path)

if __name__=='__main__':
    main()

它在AttributeError: 'unicode' object has no attribute 'write'行中说json.dump(json_data, path)

nkf -g data-creation.json 输出ASCII,但是出了什么问题? 我认为这是字符代码的问题。

1 个答案:

答案 0 :(得分:1)

json.dump需要一个类似文件的对象,该对象支持write()作为第二个参数,而不是路径。