当前位置: 首页 > news >正文

python 第8章学习 / 文件

以下是根据您提供的《Python文件操作》文档内容,对文件操作相关概念、方法和代码的全面总结。文档主要涵盖文件编码、文件读取、写入、追加及综合案例,我将按照操作类型分类总结,并提供详细的代码示例和注意事项。


一、文件编码概述

文件编码是内容与二进制相互转换的规则,确保文件能被正确读写。

  • 常见编码:UTF-8(全球通用)、GBK、Big5等。
  • 核心原则:统一使用UTF-8编码避免乱码问题。
  • 查看编码:使用记事本打开文件,底部状态栏显示编码格式(如UTF-8)。

二、文件操作基础步骤

文件操作需遵循三步流程:

  1. 打开文件open()函数
  2. 读写文件:读取或写入内容
  3. 关闭文件:释放资源

三、文件读取操作详解

1. 打开文件

f = open("python.txt", "r", encoding="UTF-8")  # 只读模式打开
  • 参数说明
    • name:文件路径(可包含绝对路径)
    • mode:访问模式(常用r为只读)
    • encoding:编码格式(必须关键字传参)

2. 读取方法

方法 说明 代码示例
read() 读取全部或指定字节 f.read(10) 读10字节
readline() 一次读取一行 line = f.readline()
readlines() 读取全部行,返回列表 lines = f.readlines()
for循环 逐行迭代文件 for line in f: print(line)

3. 关闭文件

f.close()  # 释放文件占用
  • 注意事项:未关闭文件可能导致资源占用。

4. 自动关闭文件(推荐)

with open("python.txt", "r", encoding="UTF-8") as f:content = f.readlines()  # 操作完成后自动关闭

四、文件写入操作详解

1. 写入模式(w模式)

f = open("python.txt", "w", encoding="UTF-8")
f.write("hello world")  # 写入内容
f.flush()  # 刷新缓冲区到磁盘
f.close()
  • 特点
    • 文件不存在时创建新文件
    • 文件存在时清空原内容
  • 缓冲区机制write()先写入内存缓冲区,flush()close()时持久化到磁盘。

2. 写入多行内容

f.write("第一行\n第二行")  # 使用`\n`换行

五、文件追加操作详解

1. 追加模式(a模式)

f = open("python.txt", "a", encoding="UTF-8")
f.write("\n追加内容")  # 在文件末尾添加
f.close()
  • 特点
    • 文件不存在时创建新文件
    • 文件存在时在末尾追加内容

六、文件操作模式总结

模式 功能 适用场景
r 只读 读取文件内容,不允许修改
w 写入 创建新文件或覆盖原有内容
a 追加 在文件末尾添加新内容

七、综合案例:账单文件备份与过滤

需求描述

  • 读取账单文件bill.txt
  • 备份到bill.txt.bak
  • 过滤掉标记为“测试”的数据行

代码实现

# 1. 打开源文件和备份文件
with open("bill.txt", "r", encoding="UTF-8") as src:with open("bill.txt.bak", "w", encoding="UTF-8") as bak:# 2. 逐行读取并过滤for line in src:if "测试" in line:continue  # 跳过测试数据bak.write(line)  # 写入非测试数据
  • 关键逻辑
    • 使用with open自动管理文件开关
    • 通过if "测试" in line过滤无效数据
    • 逐行写入备份文件

八、最佳实践与注意事项

  1. 编码统一:始终使用encoding="UTF-8"避免乱码
  2. 资源管理:优先用with open替代手动close()
  3. 大文件处理:使用for line in f逐行读取,避免内存溢出
  4. 写入效率:多次写入后统一flush()减少磁盘操作频率

九、课后练习:单词计数

需求

统计文件word.txt中单词"itheima"的出现次数

count = 0
with open("word.txt", "r", encoding="UTF-8") as f:for line in f:count += line.count("itheima")
print(f"itheima出现次数:{count}")

以上总结涵盖了文档中所有关键操作,如需进一步了解特定方法或案例细节,可随时提问!

http://www.jsqmd.com/news/289035/

相关文章:

  • DSPE-PEG3.4K-FA,磷脂-聚乙二醇-叶酸,DSPE-PEG3400-Folic acid,DSPE-PEG3.4K-FA
  • NMN是什么?最新研究发现:NMN通过NAD⁺激活干细胞,延缓衰老的关键机制
  • 导师推荐10个AI论文写作软件,继续教育学生轻松搞定论文!
  • 2026年性价比高的售后完善的装修专业公司推荐,别错过!
  • [Javascript] using void to ignore waiting for promise
  • 大庆市林甸肇源肇州杜尔伯特英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜
  • 10个高级的 SQL 查询技巧
  • 本土化战略赋能:Gitee如何重塑企业级项目管理新范式
  • MySQL 8 SQL调优实战:手把手教你读懂执行计划 (EXPLAIN) 与性能分析
  • 农业文档中的WORD图片粘贴到CKEDITOR为何模糊?
  • 2026年本地化部署支持多轮对话电话语音机器人厂商名单
  • Android 基础入门教程3.4 TouchListener PK OnTouchEvent + 多点触碰
  • 2026版大厂Java面试 / 学习指南,共计1100+ 题全面解析
  • 2026年可靠的方形摇摆筛排名,中药粉、矿山用筛全解析
  • Android 基础入门教程3.5 监听EditText的内容变化分类
  • 盘点知名卧式喷雾干燥机设备厂家,有哪些值得关注?
  • 弱网条件下基于阻抗小扰动稳定性分析,小信号模型,阻抗扫描(电容电流反馈有源阻尼),单逆变器SR...
  • 2026 儿童学习桌TOP5:把“可调、护眼、环保、稳不稳、好不好坚持坐正”一次讲明白
  • 总结东莞靠谱保安服务公司,恒博保安口碑出众
  • 算法备案中 服务提供者与技术支持者的区别
  • 鸡西市鸡冠恒山滴道梨树城子河英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜
  • 阿波罗工业四足机器人发布,优必选工业人形机器人规模化落地,dToF传感器量产筹备,Anthropic修订具身智能模型
  • 2026年推荐:厌氧颗粒污泥领域靠谱厂商合集,头部厌氧颗粒污泥聚焦优质品牌综合实力排行
  • ​2026海外AI年度复盘及财报综述:泡沫与机遇并存,结构性机会凸显
  • 2026年互联网+汽车+零售工单系统推荐,选型实用不踩坑攻略
  • 2025虚拟现实产业报告:AI+XR双引擎驱动!XR3.0时代开启,从技术突破到规模落地
  • 收藏!2025 AI人才市场报告解读:供大于求下的破局机会的大模型学习指南
  • 口碑好的专业宝宝起名机构推荐
  • 2026包装机/枕式包装机/热收缩包装机厂家推荐唐氏智能科技,高效稳定,售后无忧!
  • 太空科幻风潮来袭,2026机械舱选购指南,目前机械舱制造厂10年质保有保障