2013-04-28 24 views
16

İlk json dosyamı yazmaya çalışıyorum. Ama bir sebepten dolayı, aslında dosyayı yazmaz. Bir şey yaptıklarını biliyorum çünkü çöplükler çalıştırıldıktan sonra, dosyaya koyduğum herhangi bir metin silinir, ancak yerinde hiçbir şey yoktur. Söylemeye gerek yok ama yük kısmı atar ve hata yoktur çünkü orada hiçbir şey yoktur. Bu json metnini dosyaya eklememeli mi?python, Json 'a yazıyor

from json import dumps, load 
n = [1, 2, 3] 
s = ["a", "b" , "c"] 
x = 0 
y = 0 

with open("text", "r") as file: 
    print(file.readlines()) 
with open("text", "w") as file: 
    dumps({'numbers':n, 'strings':s, 'x':x, 'y':y}, file, indent=4) 
file.close() 

with open("text") as file: 
    result = load(file) 
file.close() 
print (type(result)) 
print (result.keys()) 
print (result) 

cevap

30

Sen json.dump() yöntemi kullanabilirsiniz olmalıdır:

with open("text", "w") as outfile: 
    json.dump({'numbers':n, 'strings':s, 'x':x, 'y':y}, outfile, indent=4) 
9

Değişimi:

dumps({'numbers':n, 'strings':s, 'x':x, 'y':y}, file, indent=4) 

için: Ayrıca

file.write(dumps({'numbers':n, 'strings':s, 'x':x, 'y':y}, file, indent=4)) 

:

  • file.close() yapmak gerekmez. with open... kullanırsanız, işleyici her zaman düzgün şekilde kapatılır.
  • result = load(file)result = file.read()