版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python编程基础项目八文件与异常处理8.1.1
文件的打开与关闭目录8.1.1文件打开与关闭8.1.2文件读取操作8.1.3文件写入操作8.1.4CSV文件的读写8.1.5文件编码Python编程基础8.1.1文件打开与关闭Python编程基础学习内容理解文件打开与关闭的基本概念和作用;掌握文件打开与关闭的基本语法和参数使用,能够正确使用open()函数打开文件,并根据需求选择合适的文件打开模式;熟悉文件打开的各种模式及其区别,以及能够使用close()方法正确关闭文件。Python编程基础什么是文件打开操作文件打开=建立连接通道文件打开过程:创建程序与文件的连接获得文件访问权限准备数据传输通道open()函数:用于打开文件并返回文件对象,若文件不存在会自动创建新文件。语法:file=open("文件名","打开模式")注:文件名是文件的绝对路径或相对路径Python编程基础文件打开模式#
1.读取模式(只读)file=open("data.txt","r")#2.写入模式(清空重写)file=open("data.txt","w")#3.追加模式(尾部添加)file=open("data.txt","a")Python编程基础注意:"w"模式清空文件原有内容!
文件不存在时,"r"会报错,"w"和"a"会创建新文件文件编码格式
open()
函数中可以使用“encoding”参数指定文件编码格式
语法:file=open("data.txt","r",encoding="utf-8")注:如果写入和读取时使用的编码规则不一致,可能导致文件乱码。
文件关闭文件关闭=完成操作+释放资源不关闭文件的后果:🚫资源泄漏(内存被占用)🚫数据丢失(缓冲区未写入)🚫文件锁定(其他程序无法访问)🚫系统性能下降Python编程基础文件关闭函数close()
是文件对象的方法,用于终止程序与文件的连接。基本语法:file_object.close()Python编程基础手动关闭文件传统方式:显式关闭#步骤1:打开文件file=open("example.txt","w")#步骤2:进行文件操作file.write("Hello,World!")#步骤3:关闭文件(必须!)file.close()手动关闭文件#危险示例file=open("test.txt","w")file.write(data)#如果这里出错file.close()#这行不会执行!⚠️风险:
如果写入数据出现错误,close()可能不会执行!自动关闭文件推荐方式:使用with语句
#安全的方式-with语句
withopen("example.txt","w")asfile:file.write("Hello,World!")#文件会自动关闭!自动关闭文件with语句的优势:✅自动关闭文件✅异常安全✅代码简洁✅避免遗忘关闭工作原理:
离开with代码块时,自动调用close()实战小练习任务目标:
创建空文件,并验证文件是否创建#创建一个空的配置文件print("正在创建配置文件...")withopen(“config.txt”,“w”,encoding=“utf-8”)asfile:print("✅文件创建成功!")print("✅文件已自动关闭")#验证文件是否创建importosifos.path.exists("config.txt"):print("🎉文件确实存在!")else:print("❌文件创建失败")总结回顾关键知识点文件打开使用open()函数选择合适的模式文件关闭重要性:资源释放、数据安全方法:close()或with语句最佳实践总是使用with语句8.1.2文件读取操作Python编程基础学习内容文件的读取方式文件的写入方式读取与写入的综合应用Python编程基础读取文件:read()示例代码:withopen('test.txt','r')asf:content=f.read()print(content)讲解要点:read():一次性读取文件所有内容返回的是一个字符串适合内容较小的文件Python编程基础读取文件:readline()
示例代码:withopen('test.txt',‘r‘,encoding='utf-8')asf:line1=f.readline()print(line1)line2=f.readline()print(line2)讲解要点:每次只读取一行指针会自动移动到下一行test.txt文件内容:----------------第1行:Python第2行:Java第3行:C++读取文件:按行遍历示例代码:withopen('test.txt','r')asf:forlineinf:print(line)强调:最常用、最推荐的读取方式适合大文件节省内存Python编程基础写入文件:write()示例代码:withopen('test.txt','w')asf:f.write('HelloPython')讲解要点:write()不会自动换行写入的是字符串w模式会清空原内容Python编程基础写入多行内容示例代码:withopen('test.txt','w')asf:f.write('第一行\n')f.write('第二行\n')说明:换行需要手动写\n追加写入:a模式示例代码:withopen('test.txt','a')asf:f.write('新追加的一行\n')适用场景:日志记录保存程序运行结果综合示例:边读边写示例:复制文件内容withopen('a.txt','r')asf1:withopen('b.txt','w')asf2:forlineinf1:f2.write(line)讲解要点:实际开发中非常常见读取+写入的组合应用综合示例(进阶):读取内容并处理后写入新文需求说明:从score.txt中读取学生成绩,只保留及格(≥60)的学生,并写入到新文件pass.txt中。score.txt文件内容示例:张三78李四59王五92赵六45综合示例(进阶):读取内容并处理后写入新文示例代码:withopen('score.txt','r')asf1:withopen('pass.txt','w')asf2:forlineinf1:name,score=line.split()ifint(score)>=60:f2.write(line)讲解要点:split():把一行内容拆分成多个部分int():将字符串成绩转成整数结合if条件进行筛选这是“读取+处理+写入”的完整流程常见易错点忘记加\n导致内容挤在一行使用w模式误删原文件写入非字符串类型(需要str())课堂总结本节核心:3种常见读取方式使用write()写入和追加内容读取和写入可以组合使用8.1.3文件写入操作Python编程基础学习内容Python编程基础open()打开文件写入模式:"w"、"a“基本写入方法:write()简单示例:f=open("test.txt","w",)f.write("HelloWorld")f.close()问题引入:如果多次写入怎么办?写入大量数据是否安全?如何写入列表、字典等数据?文件写入模式的深入理解1.常见写入模式对比w:写入(覆盖原内容)a:追加写入(不覆盖)x:独占写入(文件存在则报错)2.文本模式vs二进制模式文本模式:"w"、"a"二进制模式:"wb"、"ab“withopen("data.bin","wb")asf:f.write(b"abc")强调:图片、音频、视频等→二进制模式Python编程基础缓冲区与写入时机1.写入不一定立刻落盘write()先写入缓冲区程序结束或文件关闭时才真正写入磁盘f=open("test.txt","w")f.write("Hello")#此时内容可能还在缓冲区2.flush()的作用f.write("World")f.flush()#强制写入磁盘说明:日志程序中常用异常退出前可避免数据丢失一次写多行:writelines的使用1.writelines()方法接收一个可迭代对象(如列表)不会自动添加换行符lines=["第一行\n","第二行\n","第三行\n"]withopen("test.txt","w",)asf:f.writelines(lines)2.对比write()write():适合少量、单条内容writelines():适合批量写入Python编程基础写入常见数据类型1.写入列表data=[1,2,3,4]withopen("data.txt","w")asf:foriindata:f.write(str(i)+"\n")Python编程基础2.写入字典user={"name":"Tom","age":18}withopen("user.txt","w")asf:fork,vinuser.items():f.write(f"{k}:{v}\n")3.简要引出JSON复杂数据→json.dump()文件写入中的常见问题1.内容被覆盖原因:误用w模式解决:需要保留内容时使用a2.写入失败但不报错原因:缓冲区未刷新解决:关闭文件或使用flush()3.writelines没有换行原因:方法本身不自动添加解决:在字符串中手动加换行符课堂总结本节课要点理解不同写入模式的区别掌握with语句写文件学会批量写入数据能写入常见数据结构8.1.4CSV文件的读写Python编程基础学习内容Python编程基础了解什么是CSV文件掌握Python中CSV模块的基本用法使用Python读取CSV文件数据使用Python将数据写入CSV文件什么是CSV文件CSV(Comma-SeparatedValues):一种纯文本数据文件格式,使用逗号分隔数据字段,常用于:Excel数据导出数据分析数据交换。示例name,age,scoreAlice,20,90Bob,21,85Python编程基础为什么用CSV格式简单,易读易写几乎所有数据工具都支持适合中小规模结构化数据Python内置支持,无需额外库Python中操作CSV的方式Python提供了内置模块:csv模块常用功能:csv.reader()——读取CSVcsv.writer()——写入CSVcsv.DictReader()——按列名读取csv.DictWriter()——按列名写入Python编程基础读取CSV文件使用csv.reader基本步骤:打开文件创建reader对象逐行读取数据Python编程基础示例代码:importcsvwithopen('data.csv','r',encoding='utf-8')asf:reader=csv.reader(f)forrowinreader:print(row)读取结果说明每一行数据是一个列表示例输出:['name','age','score']['Alice','20','90']['Bob','21','85‘]注意:所有数据默认都是字符串类型按列名读取CSV使用csv.DictReader示例代码:importcsvwithopen('data.csv','r',encoding='utf-8')asf:reader=csv.DictReader(f)forrowinreader:print(row)输出特点:每一行是一个字典键为表头字段名写入CSV文件使用csv.writer基本步骤:打开文件(写模式)创建writer对象写入数据行示例代码:importcsvwithopen('output.csv','w',newline='',encoding='utf-8')asf:writer=csv.writer(f)writer.writerow(['name','age','score'])writer.writerow(['Alice',20,90])写入时的注意事项使用newline=''避免空行问题(Windows)编码建议使用utf-8写入前会覆盖原文件按列名写入CSV使用csv.DictWriter示例代码:importcsvwithopen('output.csv','w',newline='',encoding='utf-8')asf:fieldnames=['name','age','score']writer=csv.DictWriter(f,fieldnames=fieldnames)writer.writeheader()writer.writerow({'name':'Bob','age':21,'score':85})常见错误与提醒忘记导入csv模块文件路径错误编码不一致导致中文乱码写文件时忘记newline=''应用场景举例学生成绩管理用户信息导入导出日志数据处理数据分析前的数据准备课堂总结CSV是常用的数据文件格式Python内置csv模块即可操作掌握:读取:reader/DictReader写入:writer/DictWriter8.1.5文件编码Python编程基础学习内容Python编程基础理解什么是字符编码认识常见编码类型掌握Python中文件编码的正确用法常见乱码现象实际开发/学习中常见情况:文本文件中文显示异常运行程序报错:UnicodeDecodeError结论:👉这些问题,大多和文件编码有关Python编程基础计算机真的“认识”文字吗?计算机底层只能识别:0和1(二进制)那文字怎么办?必须用数字来表示👉这就需要一种规则:字符编码什么是字符编码字符编码的本质:建立“字符↔数字”的对应关系举例理解:字母A→65中文“中”→一组数字不同编码规则不同:同一串数字,用不同规则解释,结果就不同Python编程基础常见字符编码介绍ASCII早期编码只能表示英文、数字、符号GBK中文编码Windows系统中较常见UTF-8支持所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安全防火培训内容感想落地方案
- 2026年工厂新工安全培训内容实操要点
- 员工进行安全培训内容2026年底层逻辑
- 2026年广东餐饮安全培训内容实操要点
- 鹤壁市浚县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2026年安全培训内容和收获重点
- 2026年系统方法生产安全知识培训内容
- 衡水市冀州市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 贵阳市小河区2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 赣州市石城县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2020教学能力大赛国赛一等奖实施报告汇报PPT-国一
- 中国石油大学(华东)辅导员考试真题2022
- 空压机搬迁安装施工安全技术措施方案
- 熔化焊与热切割基础知识
- 我国企业的产业整合与收购兼并
- 玻璃幕墙安全专项施工方案专家论证本
- 【公开课】花鼓戏
- 高聚物合成工艺学
- 《集成电路原理与设计》重点内容总结
- 2022年天津注册会计师《审计》考试题库汇总(含典型题和真题)
- 600MW火电厂集控主机运行规程
评论
0/150
提交评论