作用

  • pickle模块几乎可以把所有Python的对象都转化为二进制的形式存放,这个过程称为pickling,从二进制形式转换为对象的过程称为unpickling.

pickle.dump9data,file):将data写入file

>>> import pickle
>>> my_list = [123,3.14,'小甲鱼',['another list']]
>>> import os
>>> os.getcwd()
'C:\\Users\\xuyunfeng\\AppData\\Local\\Programs\\Python\\Python39'
>>> pickle_file = open('my_list.pkl','wb')#后缀名随便起只是起提醒的作用,wb表示以写入和二进制打开文件
>>> pickle.dump(my_list,pickle_file)#将前者倒入后者
>>> pickle_file.close()


pickle.load(file):加载二进制文件

>>> pickle_file = open('my_list.pkl','rb')#以可读的、二进制的形式打开文件
>>> my_list2 = pickle.load(pickle_file)#load加载
>>> print(my_list2)

意义

保存长的、复杂的列表或字典,简化代码,节省空间

>>> some_anno = {"HORVU0Hr1G000020":"Leucine-rich repeat receptor-like protein kinase family protein",
"HORVU0Hr1G000030":"Charged multivesicular body protein 5",
"HORVU0Hr1G000050":"receptor-like protein kinase 4",
"HORVU0Hr1G000080":"Ubiquitin-conjugating enzyme family protein",
"HORVU0Hr1G000100":"Anther ethylene-upregulated protein ER1, putative, expressed",
"HORVU0Hr1G000120":"Zinc finger MYM-type protein 5",
"HORVU0Hr1G000130":"Disease resistance protein RPM1",
"HORVU0Hr1G000160":"ACT domain-containing protein",
"HORVU0Hr1G000200":"actin depolymerizing factor 4",
"HORVU0Hr1G000230":"Protein of unknown function (DUF594)",
"HORVU0Hr1G000250":"transducin family protein / WD-40 repeat family protein",
"HORVU0Hr1G000270":"unknown function",
"HORVU0Hr1G000280":"pfkB-like carbohydrate kinase family protein"
}
>>> import pickle
>>> pickle_file = open('annotation.pkl','wb')
>>> pickle.dump(some_anno,pickle_file)
>>> pickle_file.close()
>>> pickle_file = open('annotation.pkl','rb')
>>> anno = pickle.load(pickle_file)
>>> anno

TASK

0. pickle的实质是什么?
pickle的实质就是利用一些算法将你的数据对象“腌制”成二进制文件,存储在磁盘上,当然也可以放在数据库或者通过网络传输到另一台计算机上。
1. 使用pickle的什么方法存储数据?
pickle.dump(data,file)# 第一个参数是待存储的数据对象,第二个参数是目标存储的文件对象,注意要先使用’wb’的模式open文件哦_
2. 使用pickle的什么方法读取数据?
pickle.load(file)# 参数是目标存储的文件对象,注意要先使用’rb’的模式open文件哦
3. 使用pickle能不能保存为”*.txt”类型的文件?
可以,不过打开后是乱码,因为是以二进制的模式写入的。
4. 编写一个程序,这次要求使用pickle将文件( record.txt (1.1 KB, 下载次数: 10826) )里的对话按照以下要求腌制成不同文件(没错,是第29讲的内容小改,考考你自己能写出来吗?):
小甲鱼的对话单独保存为boy_.txt的文件(去掉“小甲鱼:”)
小客服的对话单独保存为girl_
.txt的文件(去掉“小客服:”)
文件中总共有三段对话,分别保存为boy_1.txt, girl_1.txt,boy_2.txt, girl_2.txt, boy_3.txt, gril_3.txt共6个文件(提示:文件中不同的对话间已经使用“==========”分割)

import os
os.chdir("D:\\我的python学习")
import pickle
boy = []
girl = []
count = 1
file = open("record.txt")
for each_line in file:if each_line[0] != '=':(role,word) = each_line.split(':',1)if role == '小甲鱼':boy.append(word)if role == '小客服':girl.append(word)else:file_boy_name = 'boy_' + str(count) + '.txt'file_girl_name = 'girl' + str(count) + '.txt'boy_file = open(file_boy_name,'wb')girl_file = open(file_girl_name,'wb')pickle.dump(boy,boy_file)pickle.dump(girl,girl_file)boy_file.close()girl_file.close()boy = []girl = []count +=1
file_boy_name = 'boy_' + str(count) + '.txt'
file_girl_name = 'girl' + str(count) + '.txt'
boy_file = open(file_boy_name,'wb')
girl_file = open(file_girl_name,'wb')
pickle.dump(boy,boy_file)
pickle.dump(girl,girl_file)
boy_file.close()
girl_file.close()


零基础入门学习Python(29)pickle模块相关推荐

  1. 零基础学python 视频_零基础入门学习PYTHON(第2版)(微课视频版)

    小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松.愉快中学会Python! 本书提倡理解为主,应用为王.因此,只要有可能,小甲鱼(注:作者)都会通过生动 ...

  2. 第031讲:永久存储,腌制一缸美味的泡菜 | 学习记录(小甲鱼零基础入门学习Python)

    (标答出处: 鱼C论坛) <零基础入门学习Python> 测试题: 0.pickle的实质是什么? pickle的实质是利用一些算法,将你的数据对象腌制成二进制文件,存储在磁盘上,也可以放 ...

  3. 零基础入门学python 第二版-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...

    第一版 时光荏苒,一晃间,距离<零基础入门学习 Python>出版(2016年11月)已经过去两年多了,在这段时间里, Python 逐步走入了大家的视野,这门语言因其简洁的语法风格,在云 ...

  4. 零基础python必背代码-零基础入门学习python 96集全

    零基础入门学习python 96集全 第000讲 愉快的开始(视频+课件)xa0 第001讲 我和Python第一次亲密接触(视频+课件)xa0 第002讲 用Python设第一个游戏(视频+课件+源 ...

  5. 零基础学python鱼c-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...

    第一版 时光荏苒,一晃间,距离<零基础入门学习 Python>出版(2016年11月)已经过去两年多了,在这段时间里, Python 逐步走入了大家的视野,这门语言因其简洁的语法风格,在云 ...

  6. 零基础学python pdf-笔记《零基础入门学习Python(第2版)》PDF+课件+代码分析

    通过自学编程,感觉到基础知识很重要,越到后面越能发现这一点,光记住是不行的,还要灵活运用,要多调试代码,计算机就是一个不断练习,不断遇到问题,解决问题的工种,要根据实际的业务能想到对应的语法,实际项目 ...

  7. 零基础学python pdf-Python pdf(零基础入门学习Python)V1.0 最新版

    Python pdf(零基础入门学习Python)是一款功能强劲专业实用的Python电子书籍.想要零基础入门学习Python?那就快试试绿色先锋小编推荐的Python pdf最新版下载使用.由作者小 ...

  8. 【鱼C·零基础入门学习Python】课后习题答案 第14课

    鉴于半导体制造业进入了瓶颈,处于找不到工作的深深忧虑,故最近开始学习Python.发现鱼C工作室的<零基础入门学习python>教程很不错,视频讲解生动,最主要的是他的课后练习很不错.以下 ...

  9. 零基础入门python小甲鱼-小甲鱼零基础入门学习Python百度云下载 | 宅男君

    Python编程语言可以在不同平台上使用,比如Windows.MAC.Linux操作系统.通常情况下,一个Python程序在你自己的Windows系统上运行,也可以在别人的MAC系统上运行.Pytho ...

  10. python零基础入门教程百度云-小甲鱼零基础入门学习Python百度云下载 | 宅男君

    Python编程语言可以在不同平台上使用,比如Windows.MAC.Linux操作系统.通常情况下,一个Python程序在你自己的Windows系统上运行,也可以在别人的MAC系统上运行.Pytho ...

最新文章

  1. HCNA多区域OSPF配置
  2. 【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor#manifestPlaceholders 清单文件占位符配置 )
  3. 计算机组成原理sop,MacBERT:MLM as correction BERT
  4. html自动播放图箭头,html5制作焦点图左右导航箭头样式
  5. 基于Boost::beast模块的协程WebSocket 服务器
  6. 怎么让PHP网页显示时有表格的效果,html的table用法(让网页的视觉效果显示出来)...
  7. LINUX开机自启问题
  8. 怎么修改思迅软件的服务器地址,思迅的服务器地址如何更改
  9. 手机wps取消不等宽分栏_wps文字怎么取消分栏很简单,三个步骤即可取消
  10. CPU性能测试分析MIPS、DMIPS
  11. python接口自动化3-自动发帖(session)
  12. 华为手机摄影从入门到精通_华为手机拍照技巧从入门到精通
  13. i511320h和锐龙r75800h性能 r7 5800h和 i5 11320h 评测
  14. IFE 耀耀学院(基础综合)
  15. 梦幻诛仙手游服务器信息失败,梦幻诛仙手游充值失败 元宝不到账解决办法
  16. Maven Pom文件标签详解
  17. 图画日记怎么画_图画日记怎么画_二年级下册绘画日记图片
  18. 手机PDF文件怎么转为电子书
  19. 空气质量在线检测平台 js 逆向)(aqistudy)
  20. java替换指定位置的字符串

热门文章

  1. 金三银四,写个漂亮的技术简历
  2. 喜马拉雅自研网关架构实践
  3. 越来越复杂,为什么是中台?
  4. 杭州程序员吐槽:月薪1.3万,结婚需要给女方彩礼35-40万,直呼结不起!网友回复:娶老婆还是娶祖宗?...
  5. 什么?Redis 的 QPS 是 MySQL 的 100 倍?
  6. 为什么曾经厉害的人突然不厉害了?
  7. 以后谁再问你【跳跃表】,就把这文章扔给他!
  8. 推荐7个圣经级技术号!第3名是我遇到的第1个开保时捷的前码农!
  9. 2019年这50个Kafka面试题,你知道答案么?
  10. 程序员的幸福:上个月被裁拿赔偿,这个月找到涨薪50%的工作