17.读写文本文件

17.读写文本文件

欢迎来到《10天学会Python》第9天!今天学习读写文本文件,让你的程序能够“记住”数据,实现持久化存储。

核心概念

文本文件是常见文件类型,如日记、配置文件、日志等。Python提供了简单而强大的文件操作功能。

生活化比喻

想象文件操作就像管理一本笔记本

  • open()函数 = 打开笔记本的动作
  • 读取模式 = 打开目的(读r、写w、追加a)
  • with语句 = 自动合上笔记本的贴心助手
  • 编码 = 笔记本语言(UTF-8最通用,中文Windows常用GBK)

文件操作基本流程

  1. 打开文件:使用 open()函数,指定文件名、模式和编码
  2. 读取/写入:根据需求进行文件操作
  3. 关闭文件:使用 close()或让 with语句自动处理

常用模式

  • "r":只读模式(默认),文件必须存在
  • "w":写入模式,创建新文件或清空已有文件
  • "a":追加模式,在文件末尾添加内容

推荐做法:总是使用 with语句,它会在代码块结束后自动关闭文件,即使发生错误也不会忘记关闭。

python

with open("文件名.txt", "模式", encoding="utf-8") as 文件:
    # 在这里进行文件操作

代码示例(5个生活场景)

示例1:读取日程安排配置文件

假设你有一个简单的日程安排文件:

python

with open("schedules.txt", "r", encoding="utf-8") as file:
    content = file.read()
    print("本周日程安排:")
    print(content)

示例2:写入每日任务日志

记录每天完成的任务,便于回顾:

python

import datetime

tasks = ["完成Python学习", "整理笔记", "项目开发"]
today = datetime.datetime.now().strftime("%Y年%m月%d日")

with open("daily_log.txt", "w", encoding="utf-8") as f:
    f.write(f"=== {today} 工作日志 ===\\n\\n")
    for i, task in enumerate(tasks, 1):
        f.write(f"{i}. {task}\\n")

示例3:追加新的读书笔记

在已有的读书笔记末尾添加新的心得:

python

new_note = "2024年1月20日:学习了Python文件操作,with语句非常方便!"

with open("book_notes.txt", "a", encoding="utf-8") as f:
    f.write(new_note + "\\n")

示例4:处理不同编码的文本文件

处理来自不同系统的文件,需要注意编码:

python

try:
    with open("data.txt", "r", encoding="utf-8") as f:
        content = f.read()
except UnicodeDecodeError:
    with open("data.txt", "r", encoding="gbk") as f:
        content = f.read()

示例5:异常处理(文件不存在的应对)

优雅地处理文件可能不存在的情况:

python

filename = "important_notes.txt"
try:
    with open(filename, "r", encoding="utf-8") as f:
        print(f.read())
except FileNotFoundError:
    print(f"文件不存在,正在创建...")
    with open(filename, "w", encoding="utf-8") as f:
        f.write("这是新文件。")

练习题

第1组:基础练习

目标:熟练使用with语句读取文件内容

  1. 读取并打印文件内容
    • 创建一个test.txt文件,写入任意内容
    • 编写程序读取并打印这个文件的所有内容

第2组:应用练习

目标:掌握文件内容的处理和分析

  1. 统计单词出现次数
    • 编写程序统计一个文本文件中"Python"单词出现的次数
    • 提示:使用字符串的 split()count()方法

第3组:综合练习

目标:综合运用文件操作创建实用程序

  1. 简易日记本程序
    • 设计一个命令行日记本程序,功能包括:
      1. 查看历史日记(读取文件显示所有内容)
      2. 添加新日记(在文件末尾追加内容)
      3. 退出程序
    • 实现基本框架,可以逐步完善功能

总结

今天学习了Python文件操作的核心技能:

核心概念

  1. 文件操作三步骤:打开 → 读取/写入 → 关闭
  2. 常用打开模式:r(读)、w(写)、a(追加)
  3. 上下文管理:使用with语句自动关闭文件
  4. 编码处理:UTF-8是通用标准

实用技巧

  1. 读取:read()读取全部内容
  2. 写入:write()写入字符串
  3. 异常处理:使用try-except应对文件不存在等错误

掌握了文件操作,你的程序就能真正"记住"数据了!明天我们将学习CSV文件处理,这是数据分析的基础。


学习建议

  1. 创建自己的学习笔记文件,用Python程序管理
  2. 尝试处理从网上下载的各种文本文件
  3. 练习时注意错误处理,写出健壮的程序
16.模块导入与使用 2026-01-21
18.处理CSV文件 2026-01-21

评论区