Pythonでのjson.dumps()とjson.dump()の違い[解決策:TypeError:dump()に1つの必要な位置引数がありません: 'fp']



Difference Between Json



まず第一に、json.dump()は一般的にめったに使用されません。このような問題は通常、入力時に注意を払わないことが原因で発生し、dumps()が誤ってdump()と書き込まれます。

(1)機能:

  • dumps()はdictをstr形式に変換し、loadsはstrをdict形式に変換します
  • dump()とload()にも同様の関数がありますが、それらをファイル操作と組み合わせます
import json data = { 'no': 1, 'name':'guobaoyan', 'url':'http://runoob.com' } json_str = json.dumps(data) print('Python raw data:', repr(data)) print('JSON Object:', json_str) # Python raw data: {'no': 1,'name':'guobaoyan','url':'http://runoob.com'} # JSON object: {'no': 1, 'name': 'guobaoyan', 'url': 'http://runoob.com'}

(2)違い:

dump()は、ファイルを操作するためのパラメーターを必要とします



  • dump()関数はdictをstrに変換し、それをファイルに保存します
  • dumps()関数は、保存せずにdictをstrに変換します
import json data = { 'no': 1, 'name':'guobaoyan', 'url':'http://runoob.com' } json_str = json.dumps(data) print('Python raw data:', repr(data)) print('JSON Object:', json_str) # Python raw data: {'no': 1,'name':'guobaoyan','url':'http://runoob.com'} # JSON object: {'no': 1, 'name': 'guobaoyan', 'url': 'http://runoob.com'} # Open in the file to see json_str1 = json.dump(data, open('str1.txt', 'w'))