我正在尝试在字典上使用json.load;但是,我收到了这个错误:
追踪(最近的呼叫最后):
文件“C:\ Python34 \ Main.py”,第91行,中 主()
在主要文件中的文件“C:\ Python34 \ Main.py”,第87行 match_histories = json.load(“match_histories.txt”)
文件“C:\ Python34 \ lib \ json__init __。py”,第265行,在加载中 返回负载(fp.read(),
AttributeError:'str'对象没有属性'read'
这是我的代码(我先导入json):
import json
match_histories = {}
match_histories["age"] = 25
json.dump(match_histories, "match_histories.txt")
match_histories = json.load(open("match_histories.txt"))
嗯,现在我收到了转储错误:
追踪(最近的呼叫最后):
文件“C:\ Python34 \ Main.py”,第91行,中 主()
文件“C:\ Python34 \ Main.py”,第82行,在主体中 match_histories = get_match_histories(challenger_Ids)
文件“C:\ Python34 \ Main.py”,第50行,在get_match_histories中 json.dump(match_histories,“match_histories.txt”)
转储中的文件“C:\ Python34 \ lib \ json__init __。py”,第179行 fp.write(块)
AttributeError:'str'对象没有属性'write'
在尝试了建议之后,我将代码更改为
import json
match_histories = {}
match_histories["age"] = 25
with open("match_histories.txt") as match_file:
match_histories = json.dump(match_histories, "match_histories.txt")
with open("match_histories.txt") as match_file:
match_histories = json.load(match_file)
但我仍然收到错误
文件“C:\ Python34 \ lib \ json__init __。py”,第179行,转储中 fp.write(块)
AttributeError:'str'对象没有属性'write'
(对不起,我是python和编程的新手)
答案 0 :(得分:3)
属性错误:' str'对象没有属性'读'
正如您所看到的,它尝试在传递的对象上调用Papa.parse(fileInput.files[0], {
complete: function(results) {
console.log(results);
}
});
,但您传递的是字符串对象而不是文件(或任何其他实现read()
的对象)
read()
想要一个文件对象,而不是它的路径字符串,所以使用json.load()
打开文件然后传递它,或者像下面的代码那样:
open()
如果您要打开要写入的文件,则with open('file.json') as json_file:
json_data = json.load(json_file)
模式应w
open()
open('file.json', 'w')
来自docs
json.load(fp,...)
反序列化fp(.read() - 支持包含a的类文件对象 JSON文档)使用此转换表的Python对象。
您与json.dump
属性错误:' str'对象没有属性'写'
json.dump(obj,...)将obj序列化为JSON格式的流到fp(a .write() - 使用此转换表支持类文件对象。
import json
match_histories = {}
match_histories["age"] = 25
print 'Python dict is', match_histories
with open('match.json', 'w') as json_file:
json.dump(match_histories, json_file)
with open('match.json', 'r') as json_file:
match_histories = json.load(json_file)
print 'Python dict restored from JSON', match_histories
python jsontest.py
Python dict is {'age': 25}
Python dict restored from JSON {u'age': 25}
{"age": 25}