• day22_4-pickle模块



    # 参考资料:
    # python模块(转自Yuan先生) - 狂奔__蜗牛 - 博客园
    # https://www.cnblogs.com/guojintao/articles/9070485.html

    # ------------------------------------------------------------
    # ********************day22_4-pickle模块 *******************
    # ********************day22_4-pickle模块 *******************
    # =====>>>>>>内容概览
    # =====>>>>>>内容概览
    '''
    # ------------------------------------------------------------
    # # 1、关于pickle 的解释
    # # # Pickle的问题和所有其他编程语言特有的序列化问题一样,就是它===>>>只能用于Python,
    # # # 并且可能不同版本的Python彼此都不兼容,因此,只能用Pickle保存那些不重要的数据,
    # # # 不能成功地反序列化也没关系。
    # # # 数据进行编码之后,是bytes的格式(json是字符串格式)
    # # # 编码后内容是一些我们无法识别的数据流
    # ------------------------------------------------------------

    # ------------------------------------------------------------
    # # 2、pickle 在文件储存上的应用
    # ------------------------------------------------------------

    # ------------------------------------------------------------
    # # 3、字典的用法补充(shelve开始前的知识补充)
    # # # 可以刚开始的时候,可以先定义一个空字典,之后再通过赋值来添加
    # ------------------------------------------------------------

    # ------------------------------------------------------------
    # # 4、shelve
    # # # shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,
    # # # 可读可写;key必须为字符串,而值可以是python所支持的数据类型
    # # # 编码数据之后,会默认生成三个文本生成,内容都是看不懂的,
    # ------------------------------------------------------------

    ------------------------------------------------分割线-------------------------------------------------

    ------------------------------------------------分割线-------------------------------------------------

    ------------------------------------------------分割线-------------------------------------------------

    
    
    '''
    # ------------------------------------------------------------
    # # 1、关于pickle 的解释
    # # # Pickle的问题和所有其他编程语言特有的序列化问题一样,就是它===>>>只能用于Python,
    # # # 并且可能不同版本的Python彼此都不兼容,因此,只能用Pickle保存那些不重要的数据,
    # # # 不能成功地反序列化也没关系。
    # # # 数据进行编码之后,是bytes的格式(json是字符串格式)
    # # # 编码后内容是一些我们无法识别的数据流
    # ------------------------------------------------------------
    '''
    #
    # import pickle
    # dic = {'name':'alvin','age':23,'sex':'male'}
    #
    # print(type(dic))
    #
    # j = pickle.dumps(dic)
    # print(type(j))
    #
    # # D:Anaconda3python.exe "D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_4- pickle.py"
    # # <class 'dict'>
    # # <class 'bytes'>
    # #
    # # Process finished with exit code 0
    
    
    
    '''
    # ------------------------------------------------------------
    # # 2、pickle 在文件储存上的应用
    # ------------------------------------------------------------
    '''
    #
    # import pickle
    # dic = {'name':'alvin','age':23,'sex':'male'}
    #
    # print(type(dic))
    # print("序列化".center(60,"-"))
    # j = pickle.dumps(dic)
    # print(type(j),"
    序列化完成")
    #
    # # 注意是w是写入str,wb是写入bytes,j是'bytes'
    # f= open('序列对象_pickle','wb')
    # f.write(j)
    #
    # # 如果不关闭,刚刚写入的数据还放在内存中,还没有写进去,导致下面读取到的数据是“空”
    # # 关闭后,打开文件,里面的内容是一些我们无法识别的数据流
    # # f.close()
    # # 如果不用上面的关闭操作,可以将在内存中的文件流通到flush操作刷入内存中,下面就可以读取到数据了
    # f.flush()
    # print("返序列化".center(60,"-"))
    # f= open('序列对象_pickle','rb')
    # data = pickle.loads(f.read())
    # print(data['age'],"
    返序列化完成")
    #
    # # D:Anaconda3python.exe "D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_4- pickle.py"
    # # <class 'dict'>
    # # ----------------------------序列化-----------------------------
    # # <class 'bytes'>
    # # 序列化完成
    # # ----------------------------返序列化----------------------------
    # # 23
    # # 返序列化完成
    # #
    # # Process finished with exit code 0
    
    
    
    
    #
    # ******************** shelve模块 *******************
    # ******************** shelve模块 *******************
    # ******************** shelve模块 *******************
    #
    '''
    # ------------------------------------------------------------
    # # 3、字典的用法补充(shelve开始前的知识补充) 
    # # # 可以刚开始的时候,可以先定义一个空字典,之后再通过赋值来添加
    # ------------------------------------------------------------
    '''
    
    # dic = {}
    # print(dic)
    # dic["name"] = "alex"
    # print(dic)
    # dic["infor"] = {"age":22,"sex":"male"}
    # print(dic)
    #
    # # D:Anaconda3python.exe "D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_4- pickle.py"
    # # {}
    # # {'name': 'alex'}
    # # {'name': 'alex', 'infor': {'age': 22, 'sex': 'male'}}
    # #
    # # Process finished with exit code 0
    
    
    
    '''
    # ------------------------------------------------------------
    # # 4、shelve 
    # # # shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,
    # # # 可读可写;key必须为字符串,而值可以是python所支持的数据类型
    # # # 编码数据之后,会默认生成三个文本生成,内容都是看不懂的,
    # ------------------------------------------------------------
    '''
    #
    # import shelve
    # f = shelve.open(r"shelve.txt")
    #
    # f['stu1_info'  ] = {'name':'alvin','age':22,'sex':'male'}
    # f['stu2_info'  ] = {'name':'ShaShu','age':33,'sex':'female'}
    # f['school_info'] = {'website':'oldboyedu.com','city':'BeiJing'}
    # # 如果不关闭,刚刚写入的数据还放在内存中,还没有写进去,导致下面读取到的数据是“空”
    # # 关闭后,打开文件,里面的内容是一些我们无法识别的数据流,这个是由于编码的关系
    # # f.close()
    # # 没有该使用方式
    # # f.flush()
    # f = shelve.open(r"shelve.txt")
    # print(f.get('stu1_info')['age'])
    # f.close()
    #
    # # D:Anaconda3python.exe "D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_4- pickle.py"
    # # 22
    # #
    # # Process finished with exit code 0
    
    
    

      

     
  • 相关阅读:
    Java 理论与实践: 正确使用 Volatile 变量
    VS2005 C++,断点无法命中的解决办法
    IndexWriterConfig的各个配置项说明(转)
    LINQ&Entity Framework
    CDN
    德鲁克之沟通的四原则
    项目管理过程之项目团队
    OOAD & OOP
    双线接入(全网路由)简单介绍
    唐僧为什么可以领导孙悟空
  • 原文地址:https://www.cnblogs.com/jyfootprint/p/9439032.html
Copyright © 2020-2023  润新知