「json&pickle」dumps,loads,dump,load的区别

「json&pickle」dumps,loads,dump,load的区别在 json 中如果有字符串 必须是双引号 json 中的字符串 真假小写 true false 字典或者列表中存在中文 序列化的时候或转为 UNcode 格式 如果想保存中文就需要进行以下操作 v1 1 2 3 4 2 amp

大家好,欢迎来到IT知识分享网。

  • json:优点:所有语言通用,缺点:只能序列化部分数据类型;不能连续load多次
  • pickle;可以序列化多有数据,但是序列化之后只有python识别,能连续load多次
  • 1 .json.dumps()

    json.dumps()是将字典类型转化成字符串类型。

    import json name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} jsObj = json.dumps(name_emb) print(name_emb) print(jsObj)

    2 .json.dump()

    json.dump()用于将dict类型的数据转成str,并写入到json文件中

    import json name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} emb_filename = ('/home/cqh/faceData/emb_json.json') # solution 1 jsObj = json.dumps(name_emb) with open(emb_filename, "w") as f: f.write(jsObj) f.close() # solution 2 json.dump(name_emb, open(emb_filename, "w"))

    3 .json.loads()

    json.loads()将字符串类型转化成字典类型

    import json name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} jsDumps = json.dumps(name_emb) jsLoads = json.loads(jsDumps) print(name_emb) print(jsDumps) print(jsLoads)

    4 json.load()

    json.load()用于从json文件中读取数据。

    # json_load.py strList = json.load(with open("listStr.json",mode='r')) print strList print strDict # {u'city': u'\u5317\u4eac', u'name': u'\u5927\u5218'}
    • pickle常用操作参考json

    格式要求:

    1.只能包含int/ str/ list/ dict/ bool/float 不存在元组/集合 最外层必须是一个列表或字典 在json中如果有字符串,必须是双引号"json中的字符串" 真假小写true/false
    • 字典或者列表中存在中文,序列化的时候或转为UNcode格式,如果想保存中文就需要进行以下操作
    v1=[1,2,3,4,'2','大牛'] val = json.dumps(v1,ensure_ascii=False) print(val) #[1, 2, 3, 4, "2", "大牛"]
    「json&pickle」dumps,loads,dump,load的区别

    总结: dump与json转化时可以结合文件操作,dumps与jsons不能.

    最后呢,欢迎指正.

    免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/160020.html

    (0)
    上一篇 2024-12-02 20:26
    下一篇 2024-12-02 20:33

    相关推荐

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    关注微信