读写json文件

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。

JSON在python中分别由list和dict组成。

有两个重要的包

  • Json模块提供了四个功能:dumps、dump、loads、load
  • pickle模块提供了四个功能:dumps、dump、loads、load

json dumps把数据类型转换成字符串 dump把数据类型转换成字符串并存储在文件中  loads把字符串转换成数据类型  load把文件打开从字符串转换成数据类型

json是可以在不同语言之间交换数据的,而pickle只在python之间使用。json只能序列化最基本的数据类型,josn只能把常用的数据类型序列化(列表、字典、列表、字符串、数字、),比如日期格式、类对象!josn就不行了。而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。

import json
test_dict = {'bigberg': [7600, {1: [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]}
json_str = json.dumps(test_dict)    #dumps 将字典转换成字符串
new_dict = json.loads(json_str)    #loads将字符串转换成字典

写入json文件

with open("../config/record.json","w") as f:
    json.dump(new_dict,f)

读取json文件

#
with open("../config/record.json",'r') as load_f:
    load_dict = json.load(load_f)

#
with open("../config/record.json","w") as dump_f:
    json.dump(load_dict,dump_f)

注意

 #设置以utf-8解码模式读取文件,encoding参数必须设置,否则默认以gbk模式读取文件,当文件中包含中文时,会报错
f = open("Settings.json", encoding='utf-8') 

#写入
with open('data.json', 'w') as json_file:
        json_file.write(json.dumps(data))

猜你喜欢

转载自www.cnblogs.com/zz27zz/p/9442160.html