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

article/2025/6/8 20:16:59

第一周

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()判断文件是否存在

题外话

最近闲来无事,做了个小程序,欢迎大家动动小手点点看😁
在这里插入图片描述


http://www.hkcw.cn/article/eRLHLZnJoN.shtml

相关文章

解决IDEA插件使用Lombok找不到符号问题

https://juejin.cn/post/7013998800842784782 -Djps.track.ap.dependenciesfalse

应用智能化转型—MCP原理分析

当下AI风头正盛,许多行业都已经进入AI赋能的道路,无论是服务业、工业、还是软件行业。本篇文章我将以软件的智能化转型之MCP原理分析为主题讲解其具体实现方案 MCP我们都知道是一个当下非常火的模型上下文协议,它可以搭建出模型与业务之间的…

【R语言编程绘图-mlbench】

mlbench库简介 mlbench是一个用于机器学习的R语言扩展包,主要用于提供经典的基准数据集和工具,常用于算法测试、教学演示或研究场景。该库包含多个知名数据集,涵盖分类、回归、聚类等任务。 包含的主要数据集 BostonHousing 波士顿房价数据…

兼容老设备!EtherNet/IP转DeviceNet网关解决储能产线通讯难题

在新能源行业飞速发展的当下,工业自动化水平的高低直接影响着企业的生产效率与产品质量。JH-EIP-DVN疆鸿智能ETHERNET/IP和DEVICENET作为工业领域常用的通信协议,它们之间的转换应用在新能源生产线上发挥着关键作用。本文重点探讨ETHERNETIP从站转DEVICE…

实验设计与分析(第6版,Montgomery著,傅珏生译) 第10章拟合回归模型10.9节思考题10.12 R语言解题

本文是实验设计与分析&#xff08;第6版&#xff0c;Montgomery著&#xff0c;傅珏生译) 第10章拟合回归模型10.9节思考题10.12 R语言解题。主要涉及线性回归、回归的显著性、残差分析。 10-12 vial <- seq(1, 12, 1) Viscosity <- c(26,24,175,160,163,55,62,100,26,30…

【Ragflow】25.Ragflow-plus开发日志:excel文件解析新思路/公式解析适配

引言 RagflowPlus v0.3.0 版本中&#xff0c;增加了对excel文件的解析支持&#xff0c;但收到反馈&#xff0c;说效果并不佳。 以下测试文件内容来自群友反馈提供&#xff0c;数据已脱敏处理。 经系统解析后&#xff0c;分块效果如下&#xff1a; 可以看到&#xff0c;由于该…

SoloSpeech - 高质量语音处理模型,一键提取指定说话人音频并提升提取音频清晰度和质量 本地一键整合包下载

视频教程&#xff1a; 一个强大的语音分离和降噪软件 SoloSpeech 是由约翰霍普金斯大学、香港中文大学、南洋理工大学、清华大学及布拉格理工大学等多所高校共同主导开源的一个创新的语音处理项目&#xff0c;旨在解决在多人同时说话的环境中&#xff0c;准确提取并清晰呈现特定…

解锁Java多级缓存:性能飞升的秘密武器

一、引言 文末有彩蛋 在当今高并发、低延迟的应用场景中&#xff0c;传统的单级缓存策略往往难以满足性能需求。随着系统规模扩大&#xff0c;数据访问的瓶颈逐渐显现&#xff0c;如何高效管理缓存成为开发者面临的重大挑战。多级缓存架构应运而生&#xff0c;通过分层缓存设…

WinRAR 6.24 (64-bit) 的详细安装步骤(适用于 Windows 系统)

1. 下载安装文件 WinRAR下载链接&#xff1a;https://pan.quark.cn/s/7cc02bd4ebb5 2. 运行安装程序 双击下载的 WinRAR-6.24-final-x64.exe 文件。 若出现 用户账户控制&#xff08;UAC&#xff09; 弹窗&#xff0c;点击 “是” 允许安装。 3. 设置安装选项 ① 选择安装路…

YOLO12 改进|融入 Mamba 架构:插入混合模块Hybrid Module 像素和补丁双层面进行交互学习,提升小目标 多尺度

图像修复需平衡局部纹理还原与全局语义连贯。传统 CNN 受限于感受野&#xff0c;难以建模长程依赖&#xff1b;Transformer 虽能捕获全局交互&#xff0c;但二次计算复杂度使其在高分辨率场景效率低下&#xff0c;且分块处理易丢失细节。Mamba 作为高效序列模型&#xff0c;可线…

LangChain4j之AiService源码分析

这一节我们主要理解的逻辑为&#xff1a; 代理对象的创建流程代理对象的方法执行流程 代理对象的创建流程 创建代理对象是通过AiServices.create(Coder.JavaCoder.class, model)进行的&#xff0c;由于AiServices是一个抽象类&#xff0c;源码中有一个默认的子类DefaultAiSer…

多合一箱变保护测控装置,助力箱变实现“无人值守,少人值班”

箱式变压器&#xff08;简称“箱变”&#xff09;将传统变压器集中设计在箱式壳体中&#xff0c;因其结构紧凑、安装简单、运行稳定等优势被广泛应用于光伏及风电系统。但是&#xff0c;由于箱变安装位置偏远且分散、运行环境恶劣&#xff0c;箱内设备种类多、需要实时掌握运行…

国际Modelica协会主席Dirk Zimmer博士到访同元软控,共话Modelica技术未来

5月28日&#xff0c;国际Modelica协会主席Dirk Zimmer博士到访同元软控苏州总部&#xff0c;双方围绕Modelica技术未来发展与开放生态建设&#xff0c;展开了深入的探讨与交流。 左&#xff1a;Modelica协会主席Dirk Zimmer博士 右&#xff1a;同元软控董事长周凡利 01 Dirk …

【论文笔记】High-Resolution Representations for Labeling Pixels and Regions

【题目】&#xff1a;High-Resolution Representations for Labeling Pixels and Regions 【引用格式】&#xff1a;Sun K, Zhao Y, Jiang B, et al. High-resolution representations for labeling pixels and regions[J]. arXiv preprint arXiv:1904.04514, 2019. 【网址】…

Redis:常用数据结构 单线程模型

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Redis &#x1f525; 常用数据结构 &#x1f433; Redis 当中常用的数据结构如下所示&#xff1a; Redis 在底层实现上述数据结构的过程中&#xff0c;会在源码的角度上对于上述的内容进行特定的…

HTTP连接管理——短连接,长连接,HTTP 流水线

连接管理是一个 HTTP 的关键话题&#xff1a;打开和保持连接在很大程度上影响着网站和 Web 应用程序的性能。在 HTTP/1.x 里有多种模型&#xff1a;短连接、_长连接_和 HTTP 流水线。 下面分别来详细解释 短连接 HTTP 协议最初&#xff08;0.9/1.0&#xff09;是个非常简单的…

【Typst】1.Typst概述

概述 Typst是一种用于排版文档的标记语言&#xff0c;可以用于排版各种精美的论文、文章、书籍、报告和作业等。它是LaTex的精神续作&#xff0c;但是运行环境和编译速度都要更简单、更快捷。 它设计了一种脚本结合简单的标记语法实现复杂的排版效果。并且支持模板创建、文件…

预警功能深度测评:系统如何降低设备突发故障率?

在设备密集型行业中&#xff0c;设备突发故障不仅会导致生产停滞&#xff0c;还可能引发安全事故&#xff0c;给企业带来巨大损失。设备管理系统凭借其强大的预警功能&#xff0c;成为众多企业降低设备突发故障率的选择工具。本文将深度测评该系统的预警功能&#xff0c;探讨其…

ABAP设计模式之---“高内聚,低耦合(High Cohesion Low Coupling)”

“高内聚、低耦合”是面向对象编程中非常重要的设计原则&#xff0c;它有助于提高代码的可维护性、扩展性和复用性。 1. 初衷&#xff1a;为什么会有这个原则&#xff1f; 在软件开发中&#xff0c;随着业务需求的复杂化&#xff0c;代码难免会变得越来越庞大。如果开发者将一…

贪心算法应用:边着色问题详解

贪心算法应用&#xff1a;边着色问题详解 贪心算法是一种在每一步选择中都采取当前状态下最优的选择&#xff0c;从而希望导致结果是全局最优的算法策略。边着色问题是图论中的一个经典问题&#xff0c;贪心算法可以有效地解决它。下面我将从基础概念到具体实现&#xff0c;全…