- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 文件操作
文件格式分为文本文件和二进制文件,它们的操作模式不同。文件操作包括打开、修改、关闭、删除、复制和目标创建、遍历、复制、删除等。本章主要讲解文本文件操作、二进制文件操作以及目录操作方法。重点是文件操作模式,pickle模块、struct模块、os模块、os.path模块、shutil模块的使用和目录操作。
6.1 文件对象
文件的基本操作包括打开、判断文件存在否、修改、关闭、删除、复制、创建目录、遍历目录等。文件的打开与关闭是建立程序中的文件对象和文件的一种关联关系。文件的格式、类型不同,它的打开方式和读写方式也不同。一般地,根据数据的编码方式,文件格式分为文本文件和二进制文件。
1.文本文件
文本文件也称为ASCII文件,存储的是常规字符串,字符串中每个字符对应一个字节。例如,数5678的存储形式为ASCII码0011011000111000。文本文件由若干文本行组成,通常每行以换行符“\n”结尾。常规字符串是指记事本或其他文本编辑器能正常显示、编辑且能够直接阅读和理解的字符串,如英文字母、汉字、数字字符串。
2.二进制文件
二进制文件是按二进制的编码方式来存放文件的。例如,数5678的存储形式为:00101110只占二个字节。无法用记事本或其他普通文本处理软件进行编辑,通常也无法直接阅读和理解,需要使用专门的软件进行解码后读取、显示、修改或执行。常见的如图形图像文件、音视频文件、可执行文件、资源文件、各种数据文件、各类Office文档等都属于二进制文件。系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。
一个文件可以以文本模式或二进制模式打开,这两种的区别是:在文本模式中回车被当成一个字符/n,而二进制模式认为它是两个字符0x0D,0x0A;如果在文件中读到0x1B,文本模式会认为这是文件结束符,也就是二进制模型不会对文件进行处理,而文本方式会按一定的方式对数据作相应的转换。
无论是文本文件还是二进制文件,其操作流程基本是一致的,即:首先打开文件并创建文件对象,然后通过该文件对象对文件内容进行读取、写入、删除、修改等操作,最后关闭并保存文件内容。Python内置了文件对象,通过open()函数即可以指定模式打开指定文件并创建文件对象,格式如下:
文件对象名=open(文件名[, 打开方式[, 缓冲区]])
文件名如果不在当前目录中,还需要指定完整路径,为了减少完整路径中“\”符号的输入,可以使用原始字符串,如r’d:\myPython37\mytest.txt’。
打开模式指定了打开文件后的处理方式:只读(r)、只写(w)、追加(a)、读写(+)等,如表6-1所示。
表6-1 文件打开模式
模式
说 明
r
读模式
w
写模式
a
追加模式
b
二进制模式(可与其他模式组合使用)
+
读、写模式(可与其他模式组合使用)
缓冲区指定了读写文件的缓存模式:数值0表示不缓存,数值1表示缓存,大于1表示缓冲区大小,默认值是缓存模式。
如果打开文件正常,open( )函数返回1个文件对象,通过该文件对象可以对文件进行各种操作,如果指定文件不存在、访问权限不够、磁盘空间不足或其他原因导致创建文件对象失败则抛出异常。如下列执行失败的原因是mytest.txt文件不存在。
fp=open(mytext.txt, r) #以只读方式打开不存在的文件
FileNotFoundError: [Errno 2] No such file or directory: mytext.txt
但对不存在的文件是可以以“写”操作模式创建文件对象:
fp=open(mytext.txt , w) #以写的方式创建不存在的文件
这样,我们可以查看在当前目录下已生成大小为0KB、文件名为mytext.txt文件。如图6-1所示。
图6-1 用记事本打开mytext.txt文件查看,内容为空
fp.write(Shanghai introduced) #向文件写内容
当对文件内容操作完以后,一定要关闭文件,以保证所做的任何修改都得到保存。
fp.close( ) #关闭文件
这样,我们从图6-2可看到文件mytext.txt大小为1KB,运用记事本打开文件可看到刚写入的内容。
图6-2 记事本打开mytext.txt文件可查看内容
当然,我们也可通过函数来查看文件内容:
fp=open(mytext.txt,r)
fp.read( ) #读文件内容
Shanghai introduced
您可能关注的文档
- 通信线路应用与维护 参考资料 4光缆的接续与成端1.ppt
- 3D Max 高级建模 知识点1:制作菱镜背景墙 课程单元设计--知识点27制作菱镜背景墙.docx
- 3D Max 高级建模 知识点3:制作过道吊顶 课程单元设计--知识点23制作过道吊顶.docx
- 3DMAX 编辑多边形顶点层级 编辑多边形.docx
- 3D打印技术应用 3D打印技术应用 熔丝沉积成型3D打印机.docx
- 4行企信息库 451职业岗位 好利来实业管理有限公司岗位信息.doc
- 06行企信息库 创新案例 前言技术-创新案例-英国诺曼德公园.doc
- 2018天南地北话美食 华东美食 梅花糕海棠糕.docx
- 2018天南地北话美食 华南美食 风沙鸡.docx
- 2018天南地北话美食 华南美食 广州叉烧包.docx
原创力文档


文档评论(0)