移动应用开发项目实战-2017文件操作045-文件操作8.pptx

移动应用开发项目实战-2017文件操作045-文件操作8.pptx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
移动应用开发 项目实战 由移动应用资源库课程开发组开发 Content 目 录 01 02 03 04 题目及要求 背景知识 解题思路 参考程序 05 习题答案 题目及要求 使用Python提供的pickle模块,序列化一个包含姓名和成绩的对象并序列化读出且输出显示。 背景知识 (一)open Python open() 函数用于打开一个文件,创建一个file对象,调用相关的方法才可以对它进行读写。 1.open()方法语法: open(name[,mode[,buffering]]) 2.参数: name : 一个包含了你要访问的文件名称的字符串值。 mode : mode 决定了打开文件的模式:只读,写入,追加等。所有取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。 背景知识 buffering : 用于指示访问文件所采用的的缓冲方式。其中0表示不缓冲,1表示缓冲一行数据。如果将其值设为大于 1 的整数,代表使用给定值作为缓冲区大小。不提供该参数或者给定负值代表使用系统默认缓冲机制。一般情况下,使用系统默认方式即可。 模式 说 明 r 读模式(默认模式,可省略),如果文件不存在则抛出异常 w 写模式,如果文件已存在,先清空原有内容 x 写模式,创建新文件,如果文件已存在则抛出异常 a 追加模式,不覆盖文件中原有内容 b 二进制模式(可与其他模式组合使用) t 文本模式(默认模式,可省略) + 读、写模式(可与其他模式组合使用) 背景知识 file对象常用方法: file.read([size]) :size未指定则返回整个文件,如果文件大小2倍内存则有问题,f.read()读到文件尾时返回(空字串)。 file.readline() :返回一行。 file.readlines([size]) :返回包含size行的列表,size 未指定则返回全部行。 f.close() :关闭文件。 背景知识 (二)with 如果在打开文件之后和关闭文件之前发生了错误导致程序崩溃,这时文件就无法正常关闭。在管理文件对象时推荐with关键字,可以有效地避免这个问题。 用于文件内容读写时,with语句的常用方法如下: with open(filename, mode) as fp: #这里写通过文件对象fp读写文件内容的语句 另外,上下文管理语句with还支持下面的用法,进一步简化了代码的编写。 with open(test.txt, r) as src, open(test_new.txt, w) as dst: dst.write(src.read()) 背景知识 (三)pickle模块 pickle提供了一个简单的持久化功能,可以将对象以文件的形式存放在磁盘上。 pickle模块只能在Python中使用,Python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化,pickle序列化后的数据,可读性差,人一般无法识别。 背景知识 (四)dump()函数 dump()函数接受一个文件句柄和一个数据对象作为参数,把数据对象以特定的格式保存到给定的文件中。当我们使用load()函数从文件中取出已保存的对象时,pickle知道如何恢复这些对象到它们本来的格式。 dump()函数语法: pickle.dump(obj, file, [,protocol]) 功能是将obj对象序列化存入已经打开的file中。protocol 如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。 背景知识 (五)load()函数 1.load()函数语法: pickle.load(file) 2.函数的功能: 将file文件中的对象序列化读出。 3.参数讲解: file -- 文件名称。 解题思路 首先定义一个学生信息类,通过调用对象输入信息,调用show函数查看输入的信息,使用with关键字打开file8.txt文件,再调用pickle模块的dump函数和load函数实现数据的序列化存储与输出。 参考程序 参考程序 习题答案 姓名: 霸王 成绩: 470 姓名: 霸王 成绩: 470 b\x80\x03c__main__\nStudent\nq\x00)\x81q\x01}q\x02(X\x05\x00\x00\x00Greedq\x03M\xd6\x01X\x04\x00\x00\x00Nameq\x04X\x08\x00\x00\x00\xe9\x9c\xb8\xe7\x8e\x8b q\x05ub. 谢谢观看

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档