2016-05-30 2 views
0

Я получаю «JSON не может быть расшифрован», когда я запускаю этот чрезвычайно простой фрагмент кода:Невозможно декодировать очень простой JSON в Python

import json 

dic = {'John':0} 
test = open('testjson.json','w+') 
json.dump(dic,test) 
datos = json.load(test) 

Файл записываются правильно, так как, когда я открываю его я может видеть JSON просто отлично, проблема в том, что он не будет загружать его в переменную с именем datos, какие-нибудь советы?

ответ

0

Вы должны стремиться вернуться в начало файла, прежде чем снова читать его:

test.seek(0) 
datos = json.load(test) 
+0

Есть ли файл в режиме записи проблемы? –

+0

Это сработало, спасибо! Есть ли способ избежать позиционирования в файле? Я имею в виду, есть ли способ, которым я могу просто прочитать весь файл, не позиционируя себя в позиции 0? – Alejo

+0

@ cricket_007 Нет, или только столько, сколько уже написано; поэтому текущая позиция после записи (не оставляя ничего для чтения). – OJFord

0

Почему бы не просто загрузить JSON из dic?

datos = json.dumps(dic) 

Не обязательно загружать его из файла.

Смежные вопросы