第12章 文件-【千锋教育】Python快乐编程基础入门同步教案

2023-03-23
| 8页
| 107人阅读
| 1人下载
教辅

内容正文:

课程名称 第12章 文件 计划学时 4学时 内容分析 本章主要介绍文件概述、文件操作、目录操作、小案例 教学目标 与 教学要求 要求学生理解文件的概念、掌握文件的操作、掌握目录的操作 教学重点 文件操作、目录操作 教学难点 文件操作、目录操作 教学方式 课堂讲解及ppt演示 教 学 过 程 第一课时 (文件概述、文件操作) 文件概述 相信大家对文件并不陌生,它可以存储文字、图片、音乐、视频等,如图12.1所示。总之,文件是数据的集合,可以有不同的类型。 图12.1 各种不同类型的文件 按数据的组织形式,文件大致可以分为两类,具体如下所示: 1. 文本文件 文本文件是一种由若干字符构成的文件,可以用文本编辑器进行阅读或编辑。以txt、py、html等为后缀的文件都是文本文件。 2. 二进制文件 二进制文件一般是指不能用文本编辑器阅读或编辑的文件。以mp3、mp4、png等为后缀的文件都是二进制文件,如果想要打开或修改这些文件,必须通过特定软件进行,比如用Photoshop软件可以编辑图像文件。 从本质上讲,文本文件也是二进制文件,因为计算机处理的全是二进制数据。 文件操作 通过程序操作文件与手动操作文件类似,通常需要经过三个步骤:打开文件、读或写数据、关闭文件。 · 打开文件 对文件所有的操作都是在打开文件之后进行的,打开文件使用open()函数来实现,其语法格式如下: open(file[, mode = 'r' [,...]]) 该函数返回一个文件对象,通过它可以对文件进行各种操作,参数列表中参数的说明如表12.1所示。 表12.1 open()函数的各参数说明 参数 说明 file 被打开的文件名 mode 文件打开模式,默认是只读模式 例如打开文件名为test.txt文件,具体示例如下: f1 = open('test.txt') # 打开当前目录下的test.txt文件 f2 = open('../test.txt') # 打开上级目录下的test.txt文件 f3 = open('D:/1000phone/test.txt') # 打开D:/1000phone目录下的test.txt文件 示例中使用open()函数打开文件时使用只读模式打开,此时必须保证文件是存在的,否则会报文件不存在的错误。 Python中打开文件的模式有多种,具体如表12.2所示。 表12.2 文件打开模式 mode 权限 读/写格式 删除原内容 文件不存在 文件指针初始位置 读 写 追加 'r' √ 文本 产生异常 文件开头 'r+' √ √ 文本 产生异常 文件开头 'rb+' √ √ 二进制 产生异常 文件开头 'w ' √ 文本 √ 新建文件 文件开头 'w+' √ √ 文本 √ 新建文件 文件开头 'wb+' √ √ 二进制 √ 新建文件 文件开头 'a' √ 文本 新建文件 文件末尾 'a+' √ √ √ 文本 新建文件 文件末尾 'ab+' √ √ √ 二进制 新建文件 文件末尾 在表12.2中,'r'表示从文件中读取数据,'w'表示往文件中写入数据,'a'表示往文件中追加数据,'+'可以与以上三种模式('r'、'w'、'a')配合使用,表示同时允许读和写。另外,当需要处理二进制文件时,则需要提供'b'给mode参数,例如'rb'用于读取二进制文件。 · 关闭文件 当对文件内容操作完以后,一定要关闭文件,这样才能保证所修改的数据保存到文件中,同时也可以释放内存资源供其他程序使用。关闭文件的语法格式如下: 文件对象名.close() 此处需注意,即使使用了close()方法,也无法保证文件一定能够正常关闭。例如,在打开文件之后和关闭文件之前发生了错误导致程序崩溃,这时文件就无法正常关闭。因此,在管理文件对象时推荐使用with关键字,可以有效地避免这个问题,具体示例如下: with open('test.txt', 'r+') as f: # 通过文件对象f进行读写操作 使用with-as语句后,就不需要再显式使用close()方法。另外with-as语句还可以打开多个文件,具体示例如下: with open('test1.txt', 'r+') as f1, open('test2.txt', 'a+') as f2: # 通过文件对象f1、f2分别操作test1.txt、test2.txt文件 从上述示例中可看出,with-as语句极大地简化了文件打开与关闭

资源预览图

第12章 文件-【千锋教育】Python快乐编程基础入门同步教案
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。