美文网首页
Python-Json-Pickle

Python-Json-Pickle

作者: 千年积木 | 来源:发表于2021-04-18 10:13 被阅读0次
    from os import write
    
    
    print("===========================序列化-反序列化===============================")
    #暂时这么理解
    
    #序列化:将数据从内存持久化保存到硬盘的过程
    #反序列化:将数据从硬盘加载到内存的过程
    
    #write时,只能写入字符串或者二进制
    #字典 列表 数字 等都不能直接写入到文件当中
    
    #1将数据转换成字符串:repr / str
    #2将数据转换成二进制
    #3将数据转换成 Json:本质是字符串
    
    file = open("Pfile/Pfile13.txt","w",encoding="utf8")
    file.write("nihao caonima de ")
    names = ["张发","找死","曹尼玛","给车","算法","算法","儿童","儿童"]
    file.write(names.__repr__())
    file.write(str(names))
    file.close()
    
    
    #json里将数据持久化有2个方法:
    #dumps:将数据转换成为json字符串,不会将数据保存到文件里
    #dump:将数据转换成为json字符串,会将数据保存到文件里
    
    import json
    file = open("Pfile/Pfile14-json.txt","w",encoding="utf8")
    names = ["json","Hello","gg","hh","jj","kk","ll","ii"]
    x = json.dumps(names) #dumps:将数据转换成字符串,不会将数据保存到文件里
    file.write(x)          #手动写入文件
    print(x)
    file.close()
    
    
    file = open("Pfile/Pfile15-json.txt","w",encoding="utf8")
    names = ["json","Hello","gg"]
    x = json.dump(names,file) #dumps:将数据转换成字符串,会将数据保存到文件里,自动写入文件
    file.close()
    
    #json里将数据反序列化有2个方法:
    #loads:将json字符串加载成为Python里的数据
    #load:读取文件,把读取的内容加载成为Python里的数据
    
    xx = '{"name":"world","good":"bad","love":90}'
    p = json.loads(xx)   #loads:将json字符串加载成为Python里的数据
    print(p["name"])
    
    file = open("Pfile/Pfile15-json.txt","r",encoding="utf8")
    yy = json.load(file)  #load:读取文件,把读取的内容加载成为Python里的数据
    print(yy)
    print(yy[0])
    
    
    print("===========================Pickle模块使用===============================")
    #json:将Python里的数据(str/list/tuple/dict/int/float/bool/None)等转化为对应的Json字符串
    #pickle:将Python里任意的对象转换为二进制
    
    import pickle
    
    #序列化  dumps:转化成二进制   dump:转化成二进制并写入到文件
    #反序列化 loads:将二进制转化成为Python数据   load:读取文件二进制数据转化成为python
    
    
    names = ["诸葛亮","json","Hello","gg","你好"]
    
    #dumps 
    file = open("Pfile/Pfile16-pickle.txt","wb")
    b_names = pickle.dumps(names)
    file.write(b_names) #写入的是二进制
    file.close()
    
    #dump
    file = open("Pfile/Pfile16-pickle.txt","wb")
    pickle.dump(names,file)
    file.close()
    
    
    #loads 
    file = open("Pfile/Pfile16-pickle.txt","rb")
    x = file.read()
    y = pickle.loads(x)
    print(y)
    file.close()
    
    #load
    file = open("Pfile/Pfile16-pickle.txt","rb")
    y = pickle.load(file)
    file.close()
    print(y)
    
    
    print("===========================Pickle 与 json区别===============================")
    #pickle 用来将数据原封不动的转换成为二进制,只能用Python读  不能跨平台
    #json 只能保存部分数据(基本数据类型),用在不同平台传输数据,夸平台
    

    相关文章

      网友评论

          本文标题:Python-Json-Pickle

          本文链接:https://www.haomeiwen.com/subject/nmbmlltx.html