(标答出处: 鱼C论坛)
《零基础入门学习Python》

测试题:

0.pickle的实质是什么?

pickle的实质是利用一些算法,将你的数据对象腌制成二进制文件,存储在磁盘上,也可以放在数据库或者传到另一台电脑上

1.使用pickle的什么方法存储数据?

pickle.dump(data,file),第一个参数是待存储的数据对象,第二个参数是目标存储的文件对象,注意要先使用“wb”的模式open文件

2.使用pickle的什么方法读取数据?

pickle.load(file) 参数是目标存储的文件对象,注意要先使用“rb”模式open文件

3.使用pickle能不能保存为“.txt”类型的文件?

可以,不过打开后是乱码,因为是以二进制的模式写入的

动动手:

0.编写一个程序,这次要求使用pickle将文件里的对话按照以下要求腌制成不同文件(没错,是第29讲的内容小改,考考你自己能写出来吗?)

·小甲鱼的对话单独保存为boy_.txt的文件(去掉“小甲鱼”)
·小客服的对话单独保存为girl_
.txt的文件(去掉“小客服”)
·文件中总共有三段对话,分别保存为boy_1.txt,girl_1.txt,boy_2.txt,girl_2.txt,boy_3.txt,girl_3.txt共6个文件(提示:文件中不同的对话间已使用“=========”分割)

import pickledef save_file(boy,girl,count):file_name_boy = 'boy_'+str(count) +'.txt'file_name_girl = 'girl_'+str(count)+'.txt'boy_file = open(file_name_boy,'wb') #must wbgirl_file = open(file_name_girl,'wb')pickle.dump(boy,boy_file)pickle.dump(girl,girl_file)boy_file.close()girl_file.close()def split_file(file_name):count = 1boy = []girl =[]f = open(file_name)for each_line in f:if each_line[:6] != '======':(role,line_spoken) = each_line.split(':',1)if role == '小甲鱼':boy.append(line_spoken)if role == '小客服':girl.append(line_spoken)else:save_file(boy,girl,count)boy = []girl = []count += 1save_file(boy,girl,count)f.close()split_file('record.txt')

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

  1. 第031讲:永久存储:腌制一缸美味的泡菜

    0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式! 我们之前学习了文件和文件系统,我们知道从一个文件里面去读取字符串是非常简单的,但是你如果要试图读取出数值的话,name就要 ...

  2. 小甲鱼零基础入门学习python--课后作业(更新至第19讲,持续更新)

    本章内容: 小甲鱼零基础入门学习python--课后作业 1.基础部分的作业 2.函数部分的作业 3.字典.集合.文件部分作业 4.异常 5.EasyGui 6.类.对象.魔法方法 7.模块 8.爬虫 ...

  3. 第063讲: 论一只爬虫的自我修养11:Scrapy框架之初窥门径 | 学习记录(小甲鱼零基础入门学习Python)

    上一节课我们好不容易装好了 Scrapy,今天我们就来学习如何用好它,有些同学可能会有些疑惑,既然我们懂得了Python编写爬虫的技巧,那要这个所谓的爬虫框架又有什么用呢?其实啊,你懂得Python写 ...

  4. 第023、024讲:这帮小兔崽子汉诺塔 | 学习记录(小甲鱼零基础入门学习Python)

    (标答出处: 鱼C论坛) <零基础入门学习Python> 测试题: 0.使用递归编写一个十进制转换为二进制的函数(要求采用'取2取余'的方式,结果与调用bin()函数一样返回字符串形式) ...

  5. 第028讲:文件:因为懂你,所以永恒 | 学习记录(小甲鱼零基础入门学习Python)

    c 0.下边只有一种方式不能打开文件,请问是哪一种,为什么? f = open('E:/test.txt','w') #A f = open('E:\test.txt','w') #B f = ope ...

  6. 第094讲: Pygame:飞机大战5 | 学习记录(小甲鱼零基础入门学习Python)

    我们接下来在游戏界面的左上角设置一个得分显示区域,实时显示玩家得分,我们的规则如下: 击落小中大敌机分别可以获得1000,6000,10000分. 我们现在main 函数中添加一个 score 变量统 ...

  7. 第087讲: Pygame:播放声音和音效 | 学习记录(小甲鱼零基础入门学习Python)

    这节课我们来谈谈 Pygame 中的 播放声音和音效,因为几乎没有任何游戏是一声不吭的,多重的感官体验更能刺激玩家的神经,没有声音的游戏就好比 不蘸番茄的薯条,尽管如此,Pygame 对于声音的处理并 ...

  8. 第019讲:我的地盘听我的 | 学习记录(小甲鱼零基础入门学习Python)

    (标答出处: 鱼C论坛) <零基础入门学习Python> 测试题: 0.下边程序会输入什么? def next():print('我在next()函数里...')pre()def pre( ...

  9. 第088讲: Pygame:摩擦摩擦 | 学习记录(小甲鱼零基础入门学习Python)

    现在 Play The Ball 这个小游戏现在已经有了背景音乐,有了小球,有了碰撞检测,接下来我们要做的就是摩擦摩擦. 我们有一块玻璃面板的图片,如下图所示:这些是我的图片素材. 在这里,因为再看了 ...

最新文章

  1. pythonweb开发-Python Web开发从入门到精通
  2. 【长尾分布】用半监督或自监督解决
  3. 如何java面试_短时间如何过java面试?
  4. Oracle null 处理
  5. word 文字超出表格边框怎么办
  6. ubuntu 本地源搭建
  7. 会议论文有没有影响因子_关于论文是否被SCI、Ei、ISTP等检索以及期刊影响因子的解说...
  8. 折弯机使用说明书_折弯机操作图解法-如何使用折弯机
  9. HTML 动态夜空特效
  10. Java系统插件开发原理与实例
  11. 简易xp画图板程序流程
  12. Excel数据合并(追加写入)
  13. RPA智能客服机器人,电商的好伙伴
  14. openGauss数据库源码解析系列文章——openGauss开发快速入门(一)
  15. Keil 编译前后 自动将 hex 转 bin
  16. ubuntu20.04 TL-WDN5200H无线usb网卡在Linux上的使用
  17. SQL Server2008下载链接以及安装教程
  18. 二向箔-百日打卡writeup26-30
  19. COBIT设计指南信息和技术治理解决方案的设计
  20. 《Kaggle》Kaggle比赛怎么进行数据分析

热门文章

  1. Codeforces Round #703 (Div. 2)C1C2 Guessing the Greatest(二分)
  2. java货郎担问题求解_货郎担问题的四种实现方法
  3. 微信小程序聊天功能PHP,微信小程序实现聊天室
  4. 多角度解析特斯拉电动车技术到底领先了多少?|厚势
  5. 科学计算机复利现值怎么计算公式,怎么用科学计算器算年金现值和复利现值是那个......
  6. vue antvG6 绘制组织架构图
  7. 一般哪些原因会造成硬盘损坏呢
  8. 基于STM32单片机的跑步机心率检测proteus仿真原理图PCB
  9. 一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)
  10. 【openfilier】配置iSCSI存储