python语法_json_pickle

时间:2024-05-23 00:07:08

---恢复内容开始---

dic = {"name":"kevin","age":"20"}

f = open("json.txt",'w')

f.write(dic) 这里是无法写入的,写入要求是一个str,所以要用到json作为数据格式的转换,就是进行序列化的转换。

import json,pickle

data = json.dumps(dic)

f.write(data) 这样就可以写入。

需要通过以字典的方式读取,则读取的时候才去如下步骤:

f = open("json.txt",'r')

data = json.loads(f.read())

data["name"]

要注意json无法对函数进行序列化

data = json.dumps(dic)

f.write(data) 这两句可以用json.dump 直接代替

json.dump(dic,f)

同样load可以代替loads一些动作

f = open("json3.txt",'r')

data = json.load(f)

print(data["name"])

#############

dic = {"name":"kevin","age":"20"}

f = open("json.txt",'wb')

f.write(dic) 这里是无法写入的,写入要求是一个str,所以要用到json作为数据格式的转换,就是进行序列化的转换。

import json,pickle

data = pickle.dumps(dic)

f.write(data) 这样就可以写入。要注意,写入时,open的参数必须是wb,b是以二进制的方式写入

需要通过以字典的方式读取,则读取的时候才去如下步骤:

f = open("json.txt",'r')

data = pickle.loads(f.read())

data["name"]

pickle可以对函数进行序列化,进行loads时要注意,你在他方地址进行的dumps,到本机上进行load,必须本地也有相同点的函数。

#########################

shelve  通过这个方式生成的文件可以对文件进行对应格式的修改(字典)

f = shelve.open("file_name")

f'["info"] = {"name":"kevin","age":"18"}

可以通过get方法来获取相关的数据

data = f.get(‘info’)

d= dict

d.get(key) 可以获取key的对应value.

d.get(key,value) 获取key的值,没有的话返回一个默认值为value