版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python程序设计与应用第6章
文件学习目标知识目标
理解文件的基本概念;
理解并掌握文件的打开和关闭、读写和定位等基本操作;
掌握CSV文件的操作;
掌握文件与文件夹操作相关函数的用法。技能目标
能够熟练进行文件的读写操作;
能够熟练进行文件及文件夹的相关操作;
能够对复杂问题进行抽丝剥茧、逐步求解;
能够通过查阅文档、在线资源等方式自主学习Python进阶知识。素质目标与课程思政
培养自主学习、解决问题的能力,培养团队协作精神和有效沟通能力;
了解国产操作系统现状和目标,增强社会责任感,培养爱国情怀。知识导图目录6.1文件概述6.2文件打开与关闭6.3文件读写与定位6.4文件与文件夹操作6.5应用实例6.1文件概述当程序运行时,数据保存在内存中,程序运行结束后,内存中的数据就会被清理掉。如果需要把数据永久保存起来,可以把这些数据保存在文件中。文件分类文件是以计算机磁盘为载体的具有文件名的一组相关元素的集合。从结构上来划分:有结构文件:由若干个相关记录组成无结构文件:被看成一个字符流从展现形式上来划分:文本文件:扩展名有txt、bat、log、ini、c、py等。文本文件可以通过windows自带的记事本编辑。二进制文件:常见的图像、视频、office文件、可执行文件等都属于二进制文件,它们都无法通过记事本直接进行编辑。文件操作在Python中,负责文件操作的叫做文件对象。文件对象不仅可以访问存储在磁盘中的文件,也可以访问网络文件。对文件进行操作主要有打开、读写和关闭三种操作。6.2文件打开与关闭Python提供了大量的文件操作函数或方法,可以对文件进行打开和关闭、读取和写入等操作。当需要对文件进行读取或写入操作时,首先需要打开文件,然后在操作完成后关闭文件。文件的打开内置函数open()可以以指定模式打开文件并返回一个文件对象。f=open(filePath,mode,encoding)说明:filePath指定文件所在路径(建议使用原始字符串)mode指定打开文件后的处理方式encoding指定对文本进行编码和解码的方法(常见有GBK,UTF_8等,默认使用系统的编码方式)绝对路径和相对路径f=open(filePath,mode,encoding)绝对路径:包含磁盘名字,从盘符或者根目录出发。例如:test.txt在D盘根目录下的abc文件夹下,则绝对路径为:D:/abc/test.txt,用原始字符串表示就是r”D:/abc/test.txt”。相对路径:以当前文件或入口文件为起点,返回上一级目录用../,如果要访问的文件和当前程序文件在同一文件夹,可以直接用文件名。文件打开模式f=open(filePath,mode,encoding)python为文件操作提供了丰富的打开模式,可以根据需要灵活地采用合适的方式组合使用。打开模式说明t文本模式b二进制模式+打开一个文件进行更新(可读可写)r以只读方式打开文件。文件的指针将会放在文件的开头。w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。r+打开一个文件用于读写。文件指针将会放在文件的开头。w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。rb、rb+、wb、wb+、ab、ab+文件的关闭用open()函数打开文件后,在文件操作完成后,需要调用close()方法将其关闭。文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的。如果没有关闭,文件一直处于被占用的状态,其他程序操作该文件可能出现问题。将数据写入文件时,操作系统不会立刻把数据写入磁盘,而是先把数据放到内存缓冲区异步写入磁盘。当调用close()时,操作系统会保证把没有写入磁盘的数据全部写到磁盘上,否则可能会丢失数据。假设打开的文件对象为f,关闭文件的语法格式:f.close()文件操作示例要读取当前文件夹下test.txt文件中的内容并显示出来。如果当前目录不存在test.txt文件,则会报错。文件操作示例由于文件读写时可能产生异常,这样就会导致close()不会调用。为了保证无论是否出现异常,都能正确关闭文件,可以使用try...finally通过捕捉异常,处理异常来实现,但相对繁琐。Pyhon引入了with语句来管理资源,自动调用close方法。6.3文件读写与定位文件的读写与定位是计算机编程中常见的操作。文件读写是指在程序中读取或写入文件的内容,而文件定位则是指在文件中找到特定的内容或者位置。Python中常用的文件读写操作方法操作方法描述读f.read()一次性读取文件全部内容,返回字符串f.read(size)一次读取size字节内容,返回字符串f.readline()每次读取一行,返回字符串f.readlines()一次性读取所有行,返回列表写f.write(s)把字符串s写入文件注意:读取文件时,如果文件很小,可以一次性取读,如果文件很大,全部读取会占用大量内存,可以用f.read(size)分批次读取。read()示例——一次性读取全部内容当前文件夹下test.txt文件read(size)示例——分批次读取当前文件夹下test.txt文件readline()示例——每次读一行,返回字符串当前文件夹下test.txt文件readlines()示例——一次性取读所有行,返回列表当前文件夹下test.txt文件write()示例当前文件夹下test.txt文件课后尝试:打开模式r+替换成a、a+、w、w+Python中的文件定位方法操作方法描述当前位置f.tell()返回当前文件指针的位置定位f.seek(offset,begin)从指定位置向后移动offset个字符begin的值为0表示文件开头,1表示当前位置,2表示文件结尾f.seek(0,2)表示移到与末尾相差0的位置,也就是末尾的位置f.seek(0,0)表示定位到文件开头,也可以直接写f.seek(0)文件定位示例当前文件夹下test.txt文件判断是否到了文件尾当前文件夹下test.txt文件6.4文件与文件夹操作在操作系统中,文件通常保存在文件夹中,因此对文件操作时,往往还涉及到对文件夹的操作。Python标准库的os模块提供了大量用于文件夹操作的函数,如获取当前目录、获取目录列表、创建文件夹、删除文件夹等等。os模块常用函数os.getcwd() 获取当前路径os.listdir(path) 列出指定目录下的所有文件和文件夹名os.mkdir(path) 创建一个目录os.makedirs(name) 创建包含子目录在内的多个目录os模块常用函数os.rmdir(path) 删除一个空目录(不空报错)os.remove(path) 删除指定路径的文件,不能删除目录os.removedirs(path) 删除带有子目录的目录os.rename(scr,dst) 重命名文件,src是源文件,dst是目标文件os.chdir() 改变当前文件夹os.path模块常用函数os.path.exists(path) 判断一个文件(夹)是否存在os.path.isfile(path) 判断一个路径是不是文件os.path.join(path,paths) 目录拼接os模块常用函数os.path.split(path) 返回一个路径的目录名和文件名os.path.splitext(path) 分离扩展名os.path.dirname(path) 获取文件目录os.path.basename(path) 获取文件名os模块常用函数os.walk用来遍历一个文件夹下的所有子文件夹和子文件文件批量重命名6.5应用实例1在当前文件夹下有一个文本文件“kjqg.txt”,统计里面的单词数并写在文件的第一行。
6.5应用实例2在当前文件夹下有“score.csv”文件,统计输出1班和2班的数学平均成绩,保留2位小数。6.5应用实例3批量合并Excel文件。当有多个Excel文件,每个文件包含一部分数据时,可能需要将这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 散文阅读技巧导学案:自主探究与练习
- 一年级英语同步辅导:日常打招呼
- 产科休克与肾功能保护的措施
- 2026年大件运输管理方案
- 2026年教育理论考试模拟试卷培训试卷
- 2026年员工试用期转正申请书
- 2026年职业病防治院招聘考试题及答案
- 2026年卫生专业技术资格考试(职业卫生-专业知识主治医师)易错题库及答案
- 检查井施工方案
- 2026年人工智能项目管理能力测试卷
- 吉安市2026年社区工作者招聘考试试卷-含答案解析
- 2026四川广元市川北幼儿师范高等专科学校助学助管员招聘7人(第二批)笔试模拟试题及答案详解
- 2026年中医药法普法竞赛试题及答案
- 2026年高校教师招聘(高等教育心理学)试题与答案
- 2026-2030中国白酒行业市场发展分析及前景趋势与投资研究报告
- 中风患者的用药指导
- 外研版英语八年级下册Unit4语法之宾语从句(教案)
- 2026学年凉山彝族自治州盐源县四年级数学第二学期期末复习检测试题含答案
- 安徽华师联盟2025-2026学年高三下学期4月高考质量检测语文试题
- GB/T 35081-2018机械安全GB/T 16855.1与GB/T 15706的关系
- GA/T 72-2013楼寓对讲电控安全门通用技术条件
评论
0/150
提交评论