# 参考资料:
# 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:\Anaconda3\python.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),"\n序列化完成")
#
# # 注意是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'],"\n返序列化完成")
#
# # D:\Anaconda3\python.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:\Anaconda3\python.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:\Anaconda3\python.exe "D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_4- pickle.py"
# # 22
# #
# # Process finished with exit code 0

  

 

最新文章

  1. Nginx+lua环境搭建
  2. JMeter参数化(一)
  3. jquery实践案例--验证电子邮箱
  4. linux基础命令学习五(软件包管理、下载管理)
  5. abstract 与 interface
  6. Matlab---size,length和numel函数的用法
  7. vb.net向Excel中写入值
  8. 数据结构与算法分析(2)&mdash;&mdash;表、栈和队列
  9. 怎样找Android里自带的数据库?
  10. Sql Server 查询多行并一行
  11. Ubuntu14.04下安装 boost (boost_1.54 最简单的方法)
  12. Delphi 字母 递增 递减算法
  13. zcat,zgrep用法
  14. shiro实战系列(一)之入门实战
  15. C++primer中 CacheObj实现(非常有意思)
  16. Ice_cream’s world II(最小树形图,加虚点)
  17. packages managers
  18. vue开发的一些设置以及技巧
  19. 【UVA 11077】 Find the Permutations (置换+第一类斯特林数)
  20. Minimum Sum of Array(map)

热门文章

  1. java创建一个空白zip
  2. selenium 操作键盘事件
  3. C# 类中访问修饰符的优先级与用法(public, internal, protected, private)
  4. Dart编程语法
  5. [NOI.AC] candy
  6. SetFileAttributes
  7. LeetCode 1103. Distribute Candies to People (分糖果 II)
  8. python 测试框架nose
  9. pure-ftpd 配置
  10. spark自定义函数之——UDAF使用详解及代码示例