2015-10-19 97 views
1

我有一个json文件,它是法语中的synonime dicitonnary(我说法语,因为我有一个ascii编码的错误消息...由于口音'é'等)。当我输入一个单词时,我想用python读取这个文件以获得synonime。 好了,我甚至不能读我的文件... 这是我的代码:尝试阅读python的json文件

data=[] 
with open('sortieDES.json', encoding='utf-8') as data_file: 
    data = json.loads(data_file.read()) 
print(data) 

所以我有一个列表相当难看,但我的问题是:我怎么可以使用文件就像一本字典?我想输入data['Académie']并有synonime的列表...在这里,JSON文件的例子:

{"Académie française":{ 
"synonymes":["Institut","Quai Conti","les Quarante"] 
} 

回答

-1

而不是

json.load(line) 

,你必须使用

json.loads(line) 

您的s缺失loads(...)

2

您只需调用json.loa文件对象d(你给它的名字DATA_FILE):

data=[] 
with open('sortieDES.json', encoding='utf-8') as data_file: 
    data = json.load(data_file) 
print(data) 
+0

当我做到这一点我有这样的错误:“在JSON对象必须str的,而不是'TextIOWrapper”。我编辑我的帖子,因为我的问题是不同的现在:( – pioupiou1211

+0

@ pioupiou1211你使用json.load或json.loads?json.load需要一个文件对象,这是我上面展示的.json.loads需要一个字符串。 – tpearse

+0

哦是啊我的坏,似乎你解决了我的问题!我有一个很好的词典,我可以做我想要的一切:)谢谢了很多! – pioupiou1211