python模块-jsonpickle
Posted forever77
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python模块-jsonpickle相关的知识,希望对你有一定的参考价值。
json模块
用于文件处理时的其他数据类型与js字符串之间转换。在将其他数据类型转换为js字符串时,首先将前者内部所有的单引号变为双引号,再整体加上引号(单或双)转换为js字符串;在使用时再将js字符串还原为本来的数据。
两对方法json.dumps()和json.loads(),json.dump()和json.load()
import json l=[1,‘hello‘,{‘name‘:‘Alex‘}] with open(‘new.txt‘,‘w‘) as f: l_str=json.dumps(l) #将列表l转换为js字符串 f.write(l_str) #将字符串写入文本 print(l_str, type(l_str)) #输出[1,"hello", {"name": "Alex"}] <class ‘str‘>,可以看见原列表中所有的单引号全部变成了双引号 with open(‘new.txt‘,‘r‘) as f: l=f.read() print(l,json.loads(l),type(json.loads(l))) #输出[1,"hello", {"name": "Alex"}] [1,‘hello‘, {‘name‘: ‘Alex‘}] <class ‘list‘>
上述最后一行可以看见,由于写入时为js字符串,直接读取时也为js字符串,即引号全部为双引号,而json.loads()是将json处理过的字符串变成了原来的列表,并且处理过的双引号全部变回了单引号
在上述文件中,转换和写操作l_str=json.dumps(l)和f.write(l_str)可以用一步json.dump(l,f)代替
在上述文件中,读和转换操作l=f.read()和json.loads(l)可以用一步json.load(f)代替
以上是关于python模块-jsonpickle的主要内容,如果未能解决你的问题,请参考以下文章
Python:使用jsonpickle无法两次或多次打印同一个对象。