2015-10-19 42 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