# 参考资料:
# 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

  

 

day22_4-pickle模块的更多相关文章

  1. python模块(json和pickle模块)

    json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个 ...

  2. 【python】pickle模块

    持久性的基本思想很简单.假定有一个 Python 程序,它可能是一个管理日常待办事项的程序,您希望在多次执行这个程序之间可以保存应用程序对象(待办事项).换句话说,您希望将对象存储在磁盘上,便于以后检 ...

  3. python数据持久存储:pickle模块的基本使用

    经常遇到在Python程序运行中得到了一些字符串.列表.字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据. 这个时候Pickle模块就派上用场了,它可以将对象转换 ...

  4. python数据持久存储:pickle模块的使用

    python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件 ...

  5. Python(正则 Time datatime os sys random json pickle模块)

    正则表达式: import re #导入模块名 p = re.compile(-]代表匹配0至9的任意一个数字, 所以这里的意思是对传进来的字符串进行匹配,如果这个字符串的开头第一个字符是数字,就代表 ...

  6. python--json & pickle 模块

    用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...

  7. python(6)- json和pickle模块

    这是用于序列化的两个模块: json: 用于字符串和python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps ...

  8. pickle模块的基本使用

    pickle是python的biult-in模块: python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储 ...

  9. python学习_应用pickle模块封装和拆封数据对象

    学习文件数据处理的时候了解到有pickle模块,查找官方文档学习了一些需要用到的pickle内容. 封装是一个将Python数据对象转化为字节流的过程,拆封是封装的逆操作,将字节文件或字节对象中的字节 ...

  10. python 列表 字典 读写文件:pickle模块的基本使用

    python数据持久存储:pickle模块的基本使用(转载) 作者: pzxbc 出处: http://pzxbc.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保 ...

随机推荐

  1. 转: 工作中用的C++库

    转:https://www.mhftz.com/archives/42.html 个人学习C/C++的开源代码: 0.STL 1.osmium 2.leveldb 3.glog 4.redis 个人使 ...

  2. Python:Logging日志处理

    程序中,需要添加日志来记录大量信息. import logging # 第一步:创建logger self.logger = logging.getLogger() self.logger.setLe ...

  3. http经典解析

    HTTP访问流程想象用浏览器打开imooc.com网站,HTTP走过的环节: 1.首先,是对imooc.com域名解析, (1.1)浏览器搜索浏览器自身的DNS缓存. (1.2)如果浏览器没有找到自身 ...

  4. Java中配置环境变量

    在系统环境变量中设置: ClASSPATH中输入: ".;C:\Program Files\Java\jdk1.7.0_07\jre\lib\rt.jar;"//java的安装目录 ...

  5. 刚装完Linux就CPU占用率高

    top命令发现如下三个进程占据了前三的CPU使用率 wpa_supplicant NetworkManager rsyslogd google发现前两个进程与无线网络有关,我的电脑是笔记本,插的有线, ...

  6. uoj74 【UR #6】破解密码

    题目 发现这个题的本质就是在做\(\rm hash\) 我们显然能够列出\(n\)个方程,之后高消,这是\(O(n^3)\)的 但是观察一下第一个和第二个方程 \[a_{1}26^{n-1}+a_{2 ...

  7. Java基础知识之常见关键字以及概念总结

    static 特点: 随着类的加载而加载 优先于对象存在 被所有对象所共享 可以直接被类名调用 使用注意: 静态方法只能访问静态成员 但是非静态成员可以直接访问静态成员 静态方法中不可用使用this, ...

  8. mysql sql时间戳格式化语句

    FROM_UNIXTIME(c.lastUpdateTime/1000,'%Y-%c-%d %h:%i:%s' ) as updatetime; select c.roleid, r.username ...

  9. BZOJ2152 聪明可可 点分治

    题意传送门 思路:基本的点分治思路,num数组记录从u点开始路径长度分别为1或者2或者3的路径长度(取模3意义下),然后做一个简单的容斥就好了. 为了避免计数的麻烦,<u,u>这样的点单独 ...

  10. redis随记

    CONFIG REWRITE  将config文件  将服务器当前所使用的配置记录到 redis.conf 文件中.