- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
移动应用开发 项目实战
由移动应用资源库课程开发组开发
Content
目
录
01
02
03
04
题目及要求
背景知识
解题思路
参考程序
05
习题答案
题目及要求
使用shelve模块,写入Tom和Jack的信息,保存在shelve_test.dat文件中,并且使用with关键字打开该文件,打印相关信息。
Tom: age:21, sex: male, address: Shannxi
Jack:age:20,sex:male,tel:123456789
需要打印的信息:
Tom的所有的信息;Jack的电话
背景知识
(一) 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())
背景知识
(三)shelve
Python标准库shelve提供了二进制文件操作功能,可以像字典赋值一样写入二进制文件,也可以像字典一样读取二进制文件。
在Python中Shelve模块提供了基本的存储操作,Shelve中的open函数在调用的时候返回一个shelf对象,通过该对象可以存储内容,即像操作字典一样进行存储操作。当在该对象中查找元素时,对象会根据已经存储的版本进行重新构建,当给某个键赋值的时候,元素会被存储。
解题思路
首先导入shelve模块,以字典形式将Tom和Jack的信息写入shelve_test.dat文件中,读取并打印相关信息。
参考程序
习题答案
{address: Shannxi, age: 21, sex: male}
123456789
谢谢观看
您可能关注的文档
- 移动应用开发项目实战-2017for循环080-forshuixianhua6.pptx
- 移动应用开发项目实战-2017for循环081-forshuixianhua7.pptx
- 移动应用开发项目实战-2017for循环082-forshuixianhua8.pptx
- 移动应用开发项目实战-2017for循环085-forsort3.pptx
- 移动应用开发项目实战-2017for循环086-forsort4.pptx
- 移动应用开发项目实战-2017while循环087-whilefactor1.pptx
- 移动应用开发项目实战-2017while循环088-whilefactor2.pptx
- 移动应用开发项目实战-2017while循环090-whilefactor4.pptx
- 移动应用开发项目实战-2017while循环091-whilefib1.pptx
- 移动应用开发项目实战-2017while循环092-whilefib2.pptx
- 原电池电动势的测定实验报告.pdf
- 与业主、设计、总包、监理和他承包人的配合措施.pdf
- 公司管理流程.pptx
- 2024_2025学年新教材高中地理第1章地球的运动素养综合训练新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第3章大气的运动第1节常见天气系统第1课时锋与天气分层作业新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第1章地球的运动第2节地球运动的地理意义第4课时正午太阳高度的变化四季更替和五带划分分层作业课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第2章地表形态的塑造第2节构造地貌的形成第1课时地质构造与地貌课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第1章地球的运动问题研究人类是否需要人造月亮课件新人教版选择性必修1.pptx
- 五片小雪花课件.pdf
- 2024_2025学年新教材高中地理第3章大气的运动第2节气压带和风带第1课时气压带和风带的形成分层作业课件新人教版选择性必修1.pptx
文档评论(0)