配色: 字号:
《Python基础案例教程》第6章(微课版)课件
2022-12-13 | 阅:  转:  |  分享 
  
《Python基础案例教程》(微课版)第6章 Python文件操作董俊第6章 Python文件操作编写程序解决问题,一般面对的问题是多样
的,有些是关于计算的,有些则需要实现分析统计的功能,对于一些需要处理大量数据的问题,为了方便快速读入和保存信息,可以采用文件操作的
方式,直接从文档中获取内容,也可以把处理结果直接保存到文档中。Python语言中提供了很多文件读取和写入的方式,本章我们将重点学习
如何从文本文档中获取文本信息,以及如何将文本信息保存到文档中。教学内容01 文件读入02 文件输出目录CONTENTS第6章 基
本数据类型6.1.1 打开文件 程序中要读取外界文件中的文本内容,需要先获得读取的权限,即要先打开文件。此处的“打开文件”
是指:根据程序指令,系统自动打开的文件通道,并不是指使用者手动打开文件。本课知识点 打开文件 从外界读取指定文件内容时
,需要在程序中先调用打开指定文件的命令打开文件,然后才有读取文件内容的权限,格式用法如下。 其中“filename.txt”
为要打开文件名及文本类型,需要跟源程序在同一个文件夹中,文本格式可以是.txt,也可以是.doc等; “r”表示,打开的文件只有读
取权限。 “之乎者也都不识,如今嗟叹始悲吟”,之、乎、者、也为文言文中常用的四个语气助词。故在古代,之乎者也指读书人所应具备
的基本能力。古人赋诗作文,多会用到这些助词,例如唐代杰出的文学家韩愈,其文章《师说》,对大家学习仍有深刻的指导意义,“人非生而知之
者,孰能无惑?”你能编写程序,实现统计《师说》一文中,“之、乎、者、也”四个词出现的次数? 案例分析案例1 词语统计6.1.1
打开文件案例分析案例1 运行结果6.1.1 打开文件本课知识点open()打开文件类型Python中,open()函数不仅能打开
文本类型的文件,还可以打开图片、音视频等其他类型的文件。它们的打开模式略有不同,用“r”的模式读取文本内容,对于其他类型的文件,如
图片等,它们的读取需要以二进制格式读取,打开模式需是“rb”,如:open(‘test.jpg’,’rb’),读取出来后也是二进制
数据。with语句使用with语句打开文件,从缩进格式上也能看出,后面语句块的内容均有缩进,说明在with后面的代码出现异常时,会
自动返回,及时关闭文件,清理资源等操作,所以with语句极大的简化了工作,这对代码的优雅性是有极大帮助的。6.1.1 打开文件P
ython引入了with语句,它可在程序需要的时候自动关闭已打开的文件。如下图程序第3行,在open之前加上with语句,可省略后
面close,使文件自动关闭。程序优化如下:案例改进6.1.1 打开文件案例练习 圆周率PI前10000位数存放在
文件“PI.txt”中,查询是否包含你出生日期的信息,即假设你的生日是4月12日,可以查询0412是否包含中PI值中。试编写程序完
成查询。 6.1.1 打开文件6.1.2 读取文件本课知识点Python语言中,若需要打开并读取指定文件的内容,可以编写程序打
开指定路径(文件在计算机中保存的位置)文件,读取文件时,可以设置逐行读取内容,或根据需要读取文件的部分内容。 Python语言中,
文件打开后,可用readlines()函数逐行读取文件内容,读取的结果以列表类型存储,文件中的每一行内容,就是列表中的一个元素。
在流感高发期,学校组织对学生一个月的体温监控,学生需要每天记录自己的体温,最终形成“同学体温记录表.txt”文档,以班
级为单位上报到学校,如图。学校现在需要对个别同学体温数据进行抽查,检测其是否有连续3天发热的情况(36.7以上视为发热),以李明同
学为例,请编写程序,实现对李明同学的体温数据分析,输出分析结果,即是否有连续三天发热,如果有,输出连续发热的最长天数。案例分析案例
2 词语统计6.1.2 读取文件案例分析案例2 运行结果6.1.2 读取文件本课知识点Python语言中可根据不同的需要采用不
同的读取方式,具体方法实现如下表6.1所示。 绝对路径:绝对路径是文件在硬盘上真正的路径,例如:C:\xyz\test.txt 代
表了test.txt文件的绝对路径。相对路径:相对路径就是指相对于程序文件(.py文件)的路径,可以直接指定到其父亲文件夹或子文件
夹。如在同一个文件夹内的文件就可以直接打开,不需要指定它的位置。6.1.2 读取文件若体温表文件跟源程序不在同一个位置(同一文件
夹内),不能直接使用open(“李明同学体温记录表.txt”,r)打开文件,否则会提示FileNotFoundError:找不到文
件,此时,可以修改如图所示部分代码,在不移动文件的情况下,设定打开文件的路径。案例改进6.1.2 读取文件案例练习
学校实验楼的IP地址比较混乱,很容易发生冲突,技术组用技术手段统计出了实验楼所有终端的IP地址,现在需要在列表中快速找到有多少组
冲突的地址,请编写程序筛选出来。 6.1.2 读取文件6.2.1 新建文件本课知识点Python程序中若需要将输出内容保存到文
档内单独存储,程序可以实现直接新建文本文档,将输出内容保存到文档中。若需要将内容输出到一个文本文件中保存。Python中可直接新建
一个文件,并把内容保存到文件中,其格式用法如下: 某大型临时停车场,每天需要统计新增过夜车辆信息,生成一张清单,便于车场管
理人员进行核对。如图,在车场门口闸机记录的车辆进出信息中,若某车辆只有进入的纪录,没有出去的记录,则该车为新增车辆。请编写程序实现
:从某天车辆出入记录表中,快速统计出停车场新增车辆的车牌信息,并生成清单文档。案例分析案例2 词语统计6.2.1 新建文件案例分
析6.2.1 新建文件本课知识点Python语言中,用open(‘filename.txt’,’w’)语句将文件以写入模式打开后
,可用write()将内容写入文件中,但要求待写入的内容为字符串类型,故若用write()语句输出其他类型的数据,需先转换为字符串
格式,再写入文件。以列表类型list1[]为例,若要输出到文件需要如下转换:6.2.1 新建文件案例练习阅读程序,写出程序运行结
果,并上机验证。程序代码如下:6.2.2 覆盖文件本课知识点在学习和生活中,将修改或加工过的文件对原文件进行替换保存,这种覆盖文
件的需求也较为常见,把确实没用的文件及时删除,可以避免使用时分便不清造成误用,也可以节约存储空间。文文有写日记的习惯,平时会用家里
的电脑写一些日记保存起来,考虑到日记是自己的隐私,不想让别人看到,若是能将电脑里的日记内容加密处理就好了。于是想到了她刚学过的Py
thon编程,如何把这些日记内容,变成别人看不懂得内容呢?案例分析案例4 日记加密6.2.2 覆盖文件案例分析6.2.2 覆盖
文件本课知识点字符编码Python中打开文件往往需要指定文本的字符编码,如案例中第1行与第8行均用到了encoding=''utf-
8'',指定 “日记.txt”的字符编码为utf-8。如果程序中读取或者写入出现乱码,要及时查看文本的字符编码,txt文本默认的编码
为“UTF-8”,有时也会是是其他格式,使用时要注意指定。常见的TXT文档的字符编码如图6.8所示。6.2.2 覆盖文件案例练习
阅读程序,参考如下翻译程序,编写程序实现:将一篇中文文本翻译成英文,保存到原文本文件中。6.2.2 覆盖文件6.2.3 添加内
容本课知识点文件的输出,有时需要将输出的内容追加在原文件后,而不是替换源文件。这样既可以保留原文件中的信息,又添加了新的信息,较适
合用于记录的相关工作。将输出内容添加文件后面,可采用以“a”的模式打开文件,可理解为“追加”模式。其格式及用法如下:小学三年级的妹
妹,数学功课学得较差,尤其是计算方面,100以内的加减法做起来比较吃力,李明打算帮妹妹好好辅导,初步制定了辅导方案:首先要做大量的
练习,然后记录她做错的题目,分析原因反复练习。于是李明决定编写程序,随机出一些100以内加减法运算题,让妹妹计算答案,若是答案错误
,则将该题记录到错题本中。案例分析案例5 错题记录本6.2.3 添加内容案例分析6.2.3 添加内容本课知识点文件读写方法Python的文件操作中,从文件的打开,到文件的关闭,常见的文件读写方法如下。6.2.3 添加内容案例练习编写程序实现以下功能,读取一段信息表如图,将表中数据按性别分类筛选,最终形成两个文件,信息表(男)和信息表(女)。6.2.3 添加内容THANKS FOR WATCHING
献花(0)
+1
(本文系籽油荃面首藏)