请忽略,code里json方法
import json
import pickle
def json_serialize(obj):
return json.dumps(obj) # 序列化
def un_json_serialize(obj):
return json.loads(obj) # 读取序列化
def pickle_serialize(obj):
return pickle.dumps(obj) # 返回的是一个bytes
def un_pickle_serialize(obj): # 读取序列化
return pickle.loads(obj)
if __name__ == '__main__':
def func1():
print('aaa')
with open('../log/pickleTest.txt', 'wb') as fd: # 注意字节写入
fd.write(pickle_serialize(func1))
with open('../log/pickleTest.txt', 'rb') as fd: # 注意字节读取
data = fd.read()
f = un_pickle_serialize(data)
f()
Pickle有一个问题,如果我把一个方法序列化了以后,把这个文本传输给另外一个人,他直接loads出来,是用不了的,他必须声明一个和我一模一样的函数,然后才能用,这个感觉有点渣,估计应该也不太常用吧