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

Python 文件操作实战:从入门到精通,一文学会打开 / 读取 / 修改文件

在 Python 开发中,文件操作是最基础、最常用的核心技能之一,无论是读取配置文件、修改数据文件、生成日志,还是处理文本内容,都离不开文件的打开、读取、写入和修改。

本文将通过超详细的学习用例,从基础语法到实战场景,带你彻底掌握 Python 文件操作,代码可直接复制运行,适合新手入门、复习巩固!

一、Python 文件操作核心基础

1. 核心函数:open()

Python 操作文件的入口是内置函数open(),语法格式:

open(file, mode='r', encoding='utf-8')
  • file:文件路径(相对路径 / 绝对路径)
  • mode:文件打开模式(必记
  • encoding:文件编码(推荐统一用utf-8,避免中文乱码)

2. 必背文件打开模式

表格

模式作用注意事项
r只读模式文件不存在会报错,默认模式
w只写模式文件不存在则创建,存在则清空内容
a追加模式文件不存在则创建,存在则在末尾追加
r+读写模式文件不存在报错,可读可写
w+写读模式先清空文件,再读写
b二进制模式处理图片、视频等非文本文件(如rbwb

3. 最佳实践:with语句

推荐使用with open()语法,无需手动关闭文件,代码更简洁、安全,文件操作后自动释放资源。


二、基础学习用例(必看)

用例 1:以只读模式打开文件,读取内容

适用场景:查看文本文件、读取配置信息

# 1. 相对路径:文件和代码在同一文件夹 # 2. 绝对路径:完整路径,如 D:/test.txt with open("test.txt", "r", encoding="utf-8") as f: # 读取全部内容 content = f.read() print("文件全部内容:") print(content) # 拓展:按行读取(适合大文件,节省内存) with open("test.txt", "r", encoding="utf-8") as f: print("\n按行读取内容:") for line in f: # strip()去除换行符/空格 print(line.strip())

用例 2:以写入模式创建 / 清空文件

⚠️ 警告:w模式会清空原有内容,谨慎使用!

# 写入模式:文件不存在则创建,存在则清空 with open("test.txt", "w", encoding="utf-8") as f: # 写入单行 f.write("Hello, Python文件操作!\n") # 写入多行 f.writelines(["学习打卡第一天\n", "掌握文件读写\n"]) print("写入完成!")

用例 3:以追加模式修改文件(最常用!)

适用场景:添加日志、追加内容、不破坏原有数据

# 追加模式:在文件末尾添加内容 with open("test.txt", "a", encoding="utf-8") as f: f.write("这是追加的内容\n") f.write("CSDN学习笔记:Python文件操作\n") print("追加完成!")

用例 4:读写模式(r+)修改文件

with open("test.txt", "r+", encoding="utf-8") as f: # 先读取内容 content = f.read() print("原内容:", content) # 指针移到文件开头,写入新内容 f.seek(0) f.write("【修改后的文件】\n" + content) print("读写修改完成!")

三、实战场景:修改文件指定内容(高频需求)

新手最常用的需求:修改文件中指定的文字 / 数据,比如替换关键词、修改配置项。

实战用例:替换文件中的指定字符串

# 定义文件路径和要替换的内容 file_path = "test.txt" old_str = "Python文件操作" new_str = "Python高级文件操作" # 1. 读取文件全部内容 with open(file_path, "r", encoding="utf-8") as f: content = f.read() # 2. 替换指定内容 new_content = content.replace(old_str, new_str) # 3. 将修改后的内容写回文件 with open(file_path, "w", encoding="utf-8") as f: f.write(new_content) print(f"替换完成!已将 '{old_str}' 修改为 '{new_str}'")

进阶用例:批量修改文件多行内容

# 批量修改文件中的多行文本 with open("test.txt", "r", encoding="utf-8") as f: # 读取所有行,保存为列表 lines = f.readlines() # 修改指定行(索引从0开始) lines[0] = "第一行已被修改!\n" lines[1] = "第二行更新完成!\n" # 写回文件 with open("test.txt", "w", encoding="utf-8") as f: f.writelines(lines) print("批量修改完成!")

四、避坑指南(新手必看)

  1. 中文乱码问题所有文件操作必须加encoding="utf-8",否则 Windows 系统下会出现乱码!
  2. 路径错误问题Windows 路径用/或者\\,不要用单个\(转义字符)✅ 正确:D:/test.txtD:\\test.txt
  3. 文件不存在报错使用r/r+模式时,文件必须存在,否则报错FileNotFoundError
  4. 不要忘记关闭文件优先用with open(),自动关闭,安全无隐患

五、总结

本文覆盖了 Python 文件操作所有核心场景

  1. 基础打开模式:r读、w写、a追加、r+读写
  2. 最佳语法:with open()自动管理文件
  3. 实战用例:读取、写入、追加、替换、批量修改
  4. 新手避坑:编码、路径、异常处理

文件操作是 Python 的基础技能,建议大家复制代码直接运行,动手练习一遍就能完全掌握!


Python开发环境搭建(Windows超详细)+ HelloWorld工程实例(新手零踩坑)

Python 文件操作实战:从入门到精通,一文学会打开 / 读取 / 修改文件


如果本文对你有帮助,欢迎点赞、收藏、评论,如有疑问或补充,欢迎在评论区交流探讨~

日常深耕嵌入式、物联网、协议开发相关技术,有技术答疑、项目合作、毕设指导需求,均可私信私聊!


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

相关文章:

  • Bebas Neue:3大优势解决设计师字体选择的终极难题
  • 盘点口碑好的铜铝电缆回收源头厂家,选哪家比较好 - 工业推荐榜
  • 不到百元捡漏乐视Astra Pro深度摄像头,手把手教你用Python+OpenCV玩转深度图与彩色图
  • 保姆级教程:用BiSeNetv2在Cityscapes数据集上跑通语义分割(附避坑指南)
  • 谷歌Gemini个人智能:个性化AI体验新突破,告别反复提供上下文信息的麻烦!
  • 告别全局字体缩放:手把手教你锁定App内部DPI,无视系统显示大小设置
  • STM32F103+ESP8266做智能开关?手把手教你从硬件接线到APP远程控制(附完整工程)
  • 从数据库索引到社交网络:用5个真实案例吃透离散数学的‘关系’与‘图’
  • RAG 检索增强生成:详细原理 + Python 完整实战
  • 如何用 vLCM 统一管理 ESXi 更新?镜像 + 驱动 + 组件基线一站式管理教程
  • 离线报文回放步骤 CANalyzer 9.0 /CANoe
  • PyTorch 2.8镜像快速上手:Python零基础入门深度学习的第一课
  • 5分钟搭建Testsigma:零代码自动化测试的完整解决方案
  • 如何永久保存微信聊天记录?本地免费工具WeChatMsg完整指南
  • 小心!这些看似普通的汉字特殊符号,可能会让你的代码和文档出大问题
  • Python Web服务器网关接口:WSGI、ASGI、RSGI、uWSGI、uwsgi、Gunicorn、Uvicorn
  • 2026年适合自学的自动打分雅思机考网站推荐 - 品牌2026
  • 如何免费将视频硬字幕转为SRT文件?本地OCR工具终极指南
  • CLIP-GmP-ViT-L-14图文匹配工具效果实录:模糊图片仍保持高区分度匹配
  • 告别模式困惑:深入解读Mellanox VPI网卡的LINK_TYPE_P1参数与网络协议栈选择
  • Kook Zimage 真实幻想 Turbo入门教程:从零开始的Linux环境部署
  • 为什么你的万爱通礼品卡被闲置?四个实用回收技巧让它不再浪费 - 团团收购物卡回收
  • ITK-SNAP医学图像分割:从入门到精通的完整指南
  • 从“自激”到“稳幅”:手把手教你用二极管和JFET给RC振荡器加个“油门和刹车”
  • 2026年4月16日 Ubuntu系统 Docker 的安装与配置
  • 150元预算也能玩SDR?手把手教你用ZYNQ7010+AD9363搭建开源无线电硬件(附BOM清单)
  • Xinference-v1.17.1 LaTeX科研助手:论文写作与公式识别一体化方案
  • OpenClaw 多 Agent 架构实战|如何配置多个智能体实现分工协作
  • LeetCode Hot 100 解题笔记
  • AMD Ryzen 电源管理终极指南:轻松掌握RyzenAdj调优技巧