json 可以在不同语言中进行使用
下面先介绍一下json的适用方法
import json, pickle t1 = { 'name':'alex', 'password':'123', 'age' : '12' } t1 = json.dumps(t1) #进行序列化,把t1被转换成字符串 f = open('t1.txt', encoding='utf-8', mode='w') #utf-8的编码方式 f.write(t1) # 写入t1,这时候的t1的样子还是原来的样子 f.close() f = open('t1.txt', encoding='utf-8', mode='r') #打开文件 t = f.read() #读取文件内容 print(json.loads(t)) #反序列化,重新转换为dict形式
pickle 只能在python中使用
json 和 pickle 的语法相同 ,pickle 可以用来传递函数
下面以pickle为例
序列化.py
def say(): print('hello') lis = { 'name':'alex', 'password':'123', 'func': say #传入函数的内存地址 } f = open('t2.txt', mode='wb') #以二进制的方式打开 lis = pickle.dumps(lis) #进行序列化,转换后的格式是二进制 f.write(lis) #写入文件 f.close() f = open('t2.txt', mode='rb') t = f.read() data = pickle.loads(t) #反序列化 data['func']() #验证函数是否还是可执行
对于json.dumps 和 json.loads 而言 最好是每次转换只出现一次