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

6个月Python学习计划 Day 13 - 文件操作基础

第一周

Day 1 - Python 基础入门 & 开发环境搭建
Day 2 - 条件判断、用户输入、格式化输出
Day 3 - 循环语句 + range 函数
Day 4 - 列表 & 元组基础
Day 5 - 字典(dict)与集合(set)
Day 6 - 综合实战:学生信息管理系统
Day 7 - 复盘 + 测试日

第二周

Day 8 - Python 函数基础
Day 9 - 函数进阶用法
Day 10 - 模块与标准库入门
Day 11 - 列表推导式、内置函数进阶、模块封装实战
Day 12 - 字符串处理 & 文件路径操作


🎯 今日目标

掌握 Python 中文件操作的基本方法,包括:

  • 打开文件、读写内容、关闭文件
  • 理解常用模式:读取(r)、写入(w)、追加(a)
  • 学会使用 with open() 安全读写文件
  • 理解编码问题(特别是 utf-8)

📘 学习内容详解

1️⃣ 打开与关闭文件(open / close)

file = open('example.txt', 'r', encoding='utf-8')
content = file.read()
file.close()
print(content)

‘r’:读取模式,文件不存在会报错
‘w’:写入模式,会清空原内容
-‘a’:追加模式,在文件末尾添加内容

2️⃣ 推荐方式:with open() 自动管理资源

with open('example.txt', 'r', encoding='utf-8') as f:content = f.read()print(content)

📌 优点:自动关闭文件,推荐使用!

3️⃣ 文件读取方式

f.read()       # 读取全部
f.readline()   # 读取一行
f.readlines()  # 按行读取,返回列表

4️⃣ 文件写入/追加

# 写入(覆盖)
with open('output.txt', 'w', encoding='utf-8') as f:f.write("Hello, Python!\n")# 追加
with open('output.txt', 'a', encoding='utf-8') as f:f.write("添加更多内容。\n")

5️⃣ 文件是否存在的判断(配合 os 模块)

import os
print(os.path.exists("output.txt"))  # True / False

🧪 今日练习任务

  1. 创建一个 hello.txt 文件,写入以下三行内容(使用 w 模式):

    Hello
    Python
    World
    
  2. 使用 readlines() 读取内容,并逐行打印。

  3. 追加一行 “你好,世界!” 到文件中,再读取全部内容打印。

  4. 判断文件是否存在,如果不存在则提示创建。

    import osfilename = "hello.txt"# === 1. 判断文件是否存在,不存在则创建并写入三行内容 ===
    if not os.path.exists(filename):with open(filename, 'w', encoding='utf-8') as f:f.write("Hello\n")f.write("Python\n")f.write("World\n")print("文件创建成功,并写入初始内容。")
    else:print("文件已存在。")# === 2. 使用 readlines() 读取内容并逐行打印 ===
    print("\n📄 文件当前内容如下:")
    with open(filename, 'r', encoding='utf-8') as f:lines = f.readlines()for idx, line in enumerate(lines, start=1):print(f"{idx}: {line.strip()}")# === 3. 追加一行 "你好,世界!" 到文件中 ===
    with open(filename, 'a', encoding='utf-8') as f:f.write("你好,世界!\n")
    print("\n✅ 已追加内容:你好,世界!")# === 4. 再次读取完整文件内容并打印 ===
    print("\n📄 文件追加后完整内容:")
    with open(filename, 'r', encoding='utf-8') as f:print(f.read())
    

    首次运行输出结果:

    文件创建成功,并写入初始内容。📄 文件当前内容如下:
    1: Hello
    2: Python
    3: World✅ 已追加内容:你好,世界!📄 文件追加后完整内容:
    Hello
    Python
    World
    你好,世界!
    

    再次运行输出结果:

    文件已存在。📄 文件当前内容如下:
    1: Hello
    2: Python
    3: World
    4: 你好,世界!✅ 已追加内容:你好,世界!📄 文件追加后完整内容:
    Hello
    Python
    World
    你好,世界!
    你好,世界!
    

📌 今日总结

知识点说明
open()打开文件进行读/写操作
‘r’/‘w’/‘a’读取 / 写入 / 追加模式
with open()自动关闭文件,更安全
read() 系列读取全部 / 一行 / 所有行
write()写入字符串到文件中
os.path.exists()判断文件是否存在

题外话

在这里插入图片描述

相关文章:

  • 移动网页调试的多元路径:WebDebugX 与其他调试工具的组合使用策略
  • 【搭建 Transformer】
  • 亚马逊Woot提报常见问题第一弹
  • 十五、【测试执行篇】异步与并发:使用 Celery 实现测试任务的后台执行与结果回调
  • Go语言学习-->编译器安装
  • leetcode47.全排列II:HashSet层去重与used数组枝去重的双重保障
  • 种草平台:重新定义购物的乐趣革命
  • 什么是“音节”?——语言构成的节拍单位
  • 【25.06】FISCOBCOS使用caliper自定义测试 通过webase 单机四节点 helloworld等进行测试
  • FreeRTOS的简单介绍
  • 现场总线结构在楼宇自控系统中的技术要求与实施要点分析
  • Kettle连接MySQL 8.0解决方案
  • Vue内置组件Teleport和Suspense
  • 【开发心得】筑梦上海:项目风云录(18)
  • IT运维工具推荐
  • 【OCCT+ImGUI系列】012-Geom2d_AxisPlacement
  • 大模型:从基座构建到应用落地--预训练与后训练及个人解析-2025.6
  • CentOS Stream 8 Unit network.service not found
  • java类的生命周期
  • 【请关注】VC内存泄露的排除及处理
  • 中国万网域名登录/西安seo搜推宝
  • 做卖挖掘机的网站/网站提交工具
  • web是网站建设与管理吗/杭州正规引流推广公司
  • 做漫画的网站有哪些/网站seo优化技能
  • 免费空间asp网站源码/百度竞价是seo还是sem
  • 单页网站如何制作/郑州做网络优化的公司