版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
20XX/XX/XXPython文件读写与数据持久化教学汇报人:XXXCONTENTS目录01
课程导入02
Python文件读写基础操作03
Python数据持久化实现04
文件读写常见应用场景05
新手常见问题与解决06
课程总结与课后练习课程导入01实现数据长久保存程序运行时数据存于内存,关闭即消失,文件读写可将学生成绩、用户信息等持久存储。满足数据交互需求日常工作中,需读取Excel、CSV等文件分析销售数据,也需将处理结果写入文件共享。支撑复杂项目开发开发爬虫系统时,需将爬取的新闻、商品数据写入文件,为后续分析提供数据源。为什么要学习文件读写Python文件读写基础操作02文件打开与关闭
使用open()函数打开文件Python中通过open()函数打开文件,可指定'r'只读、'w'写入等模式,比如open("test.txt",'r')。
文件打开的路径设置打开文件需注意路径,可使用绝对路径如"C:/data/test.txt",也可使用相对路径简化操作。
通过close()方法关闭文件文件使用后需用close()方法关闭,避免资源占用,也可结合with语句自动完成关闭操作。文本文件读写方法
使用open()函数打开文本文件通过指定文件名、打开模式,如'r'读模式、'w'写模式,可完成文本文件的基础打开操作。
read()系列方法读取文本内容调用read()可一次性读取全部内容,readline()逐行读取,适合处理大体积文本文件。
write()/writelines()方法写入文本write()写入单条字符串,writelines()批量写入字符串列表,需注意覆盖原有内容的风险。以'rb'模式读取二进制文件使用open函数以'rb'模式打开图片、音频等文件,通过read()方法获取字节流数据,如读取PNG格式图片。以'wb'模式写入二进制文件将字节流数据通过'wb'模式写入文件,比如把网络请求获取的音频字节码保存为MP3格式文件。二进制文件的分块读写针对大体积二进制文件,采用read(size)分块读取,搭配循环写入,避免占用过多内存,比如读取大型视频文件。二进制文件读写方法不同模式的文件打开
只读模式(r)的文件打开以只读模式打开文件是最常用操作,比如打开TXT格式的文本数据文件,仅可读取内容无法修改。
写入模式(w)的文件打开写入模式打开文件时会清空原有内容,若文件不存在则自动创建,适合生成全新的日志文件。
追加模式(a)的文件打开追加模式打开文件后,新内容会被添加至文件末尾,不会覆盖原有内容,常用于记录程序运行日志。
读写模式(r+)的文件打开读写模式支持读取和写入操作,打开后可先读取配置文件内容,再对配置参数进行修改保存。路径设置与处理绝对路径的定义与使用绝对路径是文件或文件夹的完整地址,如Windows系统下的"C:/Users/xxx/Documents/test.txt",可精准定位文件。相对路径的灵活运用相对路径以当前脚本所在位置为基准,如"./data/test.csv",适合项目内文件的跨层级调用。os模块的路径处理功能借助Python的os模块,可通过os.path.join()拼接路径,适配不同操作系统的路径分隔符差异。Python数据持久化实现03TXT文件单字段数据写入通过Python内置open函数,以写入模式打开TXT文件,可将姓名、学号等单字段基础数据逐行写入。CSV文件多字段数据存储利用csv模块,可将包含姓名、年龄、成绩的学生信息,以逗号分隔的形式存储到CSV文件中。JSON文件结构化数据保存借助json模块,能将包含用户ID、昵称、注册时间的字典数据,转为JSON格式写入文件实现持久化。文本存储基础数据JSON格式序列化存储JSON序列化基础操作使用json.dump()函数可将Python字典、列表等对象直接写入JSON文件,实现数据持久化。JSON反序列化读取借助json.load()函数能把JSON文件中的数据还原为Python原生数据类型,方便后续处理。复杂对象的JSON序列化对于类实例等复杂对象,可通过自定义default参数实现序列化,比如Django模型对象的存储。CSV格式表格数据存储
使用csv模块写入CSV文件通过Python内置csv模块的writer对象,可将列表、元组等结构化数据写入CSV,如批量导出学生成绩表。
借助csv模块读取CSV文件利用csv模块的reader或DictReader对象,能读取CSV文件内容,可用于解析电商订单数据统计分析。
CSV文件的编码与换行处理存储CSV时需指定UTF-8等编码,设置换行参数避免空行,比如处理含中文的用户信息表时的常见操作。文本配置文件读写通过open()函数读写txt格式配置文件,如读取Django项目的自定义配置参数,快速完成基础配置。CSV格式数据存储利用csv模块读写表格数据,如保存学生考试成绩统计表,实现数据的轻量化持久化存储。JSON格式数据交互借助json模块序列化用户偏好设置,如保存APP的主题选择、字体大小等配置,下次启动自动加载。简单持久化场景应用文件读写常见应用场景04程序配置信息保存JSON格式存储跨平台配置Python通过json模块读写配置文件,如VSCode用JSON存储编辑器主题、快捷键等跨平台配置。INI格式存储层级化配置借助configparser模块读写INI文件,像MySQL的my.ini就用层级结构存储数据库端口、密码等配置。YAML格式存储易读性配置利用PyYAML库操作YAML文件,如DockerCompose用YAML存储容器服务的部署配置,简洁易维护。爬取数据结果存储存储为CSV格式文件
将爬虫获取的电商商品价格、销量数据存入CSV,方便后续用Excel或Pandas进行分析统计。存储为JSON格式文件
把爬取的社交媒体用户评论、动态内容存为JSON,保留数据层级结构,便于后端接口调用。存储至SQLite数据库
将爬取的新闻资讯标题、发布时间等数据存入SQLite,支持多条件查询和数据关联操作。用户信息本地缓存
登录状态本地留存不少APP会将用户登录凭证写入本地文件,下次打开时自动读取,无需重复输入账号密码。
个人偏好离线保存像音乐类APP会把用户喜欢的歌单、播放偏好写入本地文件,断网时仍可正常加载。
常用数据离线缓存外卖APP会将用户常用地址、历史订单写入本地文件,提升离线状态下的操作流畅度。新手常见问题与解决05中文编码乱码问题未指定编码格式引发乱码新手读写文件时常省略encoding参数,如读取含中文的txt,易出现乱码,指定utf-8编码可解决。编码不统一导致乱码写入文件用gbk编码,读取却用utf-8,像保存中文日志后再读取就会乱码,需统一编码格式。文件实际编码与设置不符乱码误将实际为gbk编码的csv文件按utf-8读取,会出现乱码,可借助chardet库检测编码。文件找不到异常处理
01识别FileNotFoundError异常类型新手常遇文件路径错误触发该异常,可通过try-except语句精准捕获,比如指定错误的文件路径时。
02使用绝对路径规避路径问题新手易混淆相对路径层级,改用绝对路径如“C:/Users/xxx/test.txt”,能降低找不到文件的概率。
03添加文件存在性检查步骤在读写前用os.path.exists()函数判断文件是否存在,像提前检查“data.csv”存在再操作。大文件读写内存溢出
一次性读取整个文件导致溢出新手常直接用read()读取大文件,比如读取几GB的日志文件,易引发内存不足报错。
未采用迭代式读取方法可通过for循环逐行读取大文件,像读取大型CSV数据集时,逐行处理能避免内存溢出。
忽略分块读取策略借助pandas的chunksize参数分块读取大Excel文件,按指定行数分批处理可缓解内存压力。课程总结与课后练习06文件读写基础语法梳理需掌握open()函数的参数设置,如r、w、a等模式,以及read()、write()等读写方法的使用。文本与二进制文件操作区分明确文本文件用str类型读写、二进制文件用bytes类型操作的差异,例如读取图片需用rb模式。数据持久化常用方法总结需掌握JSON模块的dump()、load()方法,以及CSV文件读写,实现数据的长期存储与读取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动关系管理的理论演进
- 企业所得税年度纳税申报表填报讲解
- 员工个人转正述职报告
- 收购、兼并和企业重组
- 2026年瓦斯抽采操作工煤矿高级工技能鉴定试题及答案
- 2026年渠道销售专员快消行业校招全真试卷及答案
- 2026年交通资金项目绩效试题(附答案)
- AI驱动的SDLC及软件供应链安全技术应用指南-立足AI原生构建安全可信的AI开发生态
- 2026年电子科技集团通信技术岗校招笔试试题及答案
- 《胎盘早剥的护理》课件
- DB22T 1822-2013 公共场所双语标识英文译法 通则
- 充分条件与必要条件 课件-2024-2025学年高一上学期数学人教A版(2019)必修第一册
- 药事法规课件-医疗机构药事管理
- 新标准商务英语阅读教程1- 课件 Unit-1 Work and travel
- 房地产买房送车执行活动策划方案
- 美的集团第-级公司分权手册
- 网络传播概论(彭兰第5版) 课件全套 第1-8章 网络媒介的演变-网络传播中的“数字鸿沟”
- GB/T 38470-2023再生铜合金原料
- 人教版数学八年级上册《从分数到分式》公开课一等奖创新课件
- 标准摩尔生成Gibbs自由能
- 第一章 血液学绪论
评论
0/150
提交评论