• 第42天python学习内置 模块json pickle


    json  pickle  shelve  XML内置模块

    #Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式

    #古老的方法:处理把字典转换成字符串,在把字符串转换成字典
    # dic='{"name":"zhangshan"}'
    # f=open("hello","w")#文件名为:hello,
    # f.write(dic)#把内容zhangshan写入


    # f_read=open("hello","r")
    # data=f_read.read()
    # print(type(data))#打印类型为str
    # data=eval(data)#转换输出类型为字典————————函数,类等不支持
    # print(data["name"])#使用key值取出value值,zhangshan


    #新式方法json方法处理数据交换:json不支持类的数据
    import json
    # dic={"name":"zhangshan"}
    # dic_str=json.dumps(dic)#把字典使用json.dumps转换成字符串
    # f=open("new_hello","w")#打开文件
    # f.write(dic_str)#写入内容
    # print(dic_str,type(dic_str))#{"name": "zhangshan"} <class 'str'>

    # f_read=open("new_hello","r")
    # data=json.loads(f_read.read())#使用json.loads把字符串直接转换成字典
    # print(data["name"])

    #json.dumps作用:把整型 字符串(单引号) 列表变为双引号的字符串
    # import json
    # data=8
    # data1=json.dumps(data)
    # print(data1,type(data1))
    #
    # data=[1,2,3]
    # data2=json.dumps(data)
    # print(data2,type(data2))
    #
    # data='hello'
    # data3=json.dumps(data)
    # print(data3,type(data3))
    #
    # dic={"name":"zhangshan"}
    # data=json.dumps(dic)#把字典直接转换成字符串
    # print(data,type(data))

    #背景情况:先新建一个文件里面放符合json规范,使用双引号的文本。文件内容:{"name": "zhangshan"}
    import json
    with open("new_hello","r") as f:
    data=f.read()
    data=json.loads(data)#使用json.loads把双引号的内容转换成字典
    print(data["name"])

    #备注:如个文件内容是:{'name': "zhangshan"}单引号则以上代码不能取出值,因为违反了json规范文本内容是双引号

    #pickle和json使用的方法dumps() loads()  .但是pickle可以对函数类进行使用,但是使用很少
    #pickle处理成一个字节

    import pickle

    dic={'name':'zhangshan','age':23,'sex':'male'}
    print(type(dic))#<class 'dict'>

    data=pickle.dumps(dic)
    print(data,type(data))# <class 'bytes'>

    # f=open("系列化对象_pickle","wb")#注意写入str,wb是写入bytes
    # f.write(data)

    f=open("系列化对象_pickle","rb")#注意写入str,wb是写入bytesr
    data=f.read()
    data1=pickle.loads(data)
    print(data1["age"])
    
    
    一.import json
    1.通过模块json.loads吧字符串转换成Python的基本数据类型,,通过json反序列化时一定记得里面是双引号。
    2.通过模块json.dumps吧python基本数据类型转换成字符串。
    3.通过json。dump吧Python基本数据类型转换成字符串并写入一个文件里面。
    4.在文件里面读出字符串并转换成Python基本数据类型。

    二.import  pickle
    1.通过模块pickle.dumps吧python基本数据类型转换成字符串(只有Python认识的字符编码)
    2.通过模块pickle.loads吧字符串(只有Python认识的字符编码)转换成Python基本数据类型
    3.通过模块pickle.dump吧python基本数据类型转换成字符串(只有Python认识的字符编码)并写入文件。
    4.通过模块pickle.load从文件里面吧吧字符串拿出来(只有Python认识的字符编码)转换成Python基本数据类型。
    5.通过模块pickle可能python2.7序列化的用3.5反序列化不回来。

    三.json 和pickle的区别
    1.json和pickle的区别是前者只支持python基本的数据类型而pickle 支持所有的Python数据类型。
    2.json 更合适跨语言操作,字符串基本数据类型。
    3.pickle,可以对python所有类型序列化,仅适用于python


  • 相关阅读:
    CSS3自定义滚动条样式 -webkit-scrollbar
    仿flash的文字动画效果
    使用PowerDesigner导出MySQL数据库建模
    将博客搬至CSDN
    centos6.3安装MySQL 5.6(转)
    # mysql -u root -p -bash: mysql: command not found
    win8设置保护眼睛的颜色
    网关末尾要么是1要么是254
    虚机centos和本机Windows之间文件的拷贝无法用xftp时用FileZilla也行
    Java基础知识总结之基础数据类型
  • 原文地址:https://www.cnblogs.com/jianchixuexu/p/11621431.html
Copyright © 2020-2023  润新知