2013-04-28 29 views
16

私は最初のjsonファイルを作成しようとしています。しかし何らかの理由で、実際にファイルを書き込むことはありません。ダンプを実行した後、ファイルに入れた任意のランダムなテキストが消去されるので、何かをしていることは分かっていますが、その場所には何もありません。言うまでもなく、ロード部分はスローしてエラーがないのでエラーが発生します。これは、ファイルにすべてのjsonテキストを追加してはいけませんか?python、Jsonをファイルに書き込む

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) 

答えて

30

次のようになります。

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

変更:

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

へ:また

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

  • file.close()を行う必要はありません。 with open...を使用すると、ハンドラは常に適切に閉じられます。
  • result = load(file)あなたはjson.dump()メソッドを使用することができますresult = file.read()
関連する問題