news 2026/5/8 1:24:01

python 之 文件管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python 之 文件管理

文章目录

  • Python 文件相关操作总结
    • 一、文件与目录的基本概念
      • 路径类型
    • 二、文件读写(最核心)
      • 1️⃣ 打开文件:`open()`
      • 2️⃣ 推荐写法:`with open`
      • 3️⃣ 读取方式
      • 4️⃣ 写入方式
    • 三、目录操作(os 模块)
      • 1️⃣ 判断路径类型
      • 2️⃣ 创建 / 删除目录
      • 3️⃣ 列出目录内容
      • 4️⃣ 拼接路径(跨平台)
    • 四、遍历目录(重点)
      • 1️⃣ `os.walk()`(递归)
      • 2️⃣ 只遍历一层
    • 五、文件名与路径处理
      • 1️⃣ 获取文件扩展名(标准)
      • 2️⃣ 文件大小 / 修改时间
    • 六、文件类型统计(综合示例)
    • 七、文件复制 / 删除 / 重命名
      • 使用 `shutil`(更安全)
    • 八、使用 pathlib(现代写法)
    • 九、输入输出与文件结合
    • 十、常见错误总结(重点)
    • 十一、工程实践建议(你这个阶段非常重要)
    • 十二、一句话记忆版

下面是一份结构化、可直接复习与对照使用的 Python 文件操作完整总结。覆盖从基础到工程实践中最常用、最容易出错的部分,与你前面已经接触的os.walk、扩展名统计等内容是完全衔接的。

Python 文件相关操作总结


一、文件与目录的基本概念

对象说明
文件(file)存储数据的最小单位
目录(directory)用于组织文件和子目录
路径(path)文件或目录的定位方式

路径类型

  • 绝对路径D:\data\test.txt
  • 相对路径./data/test.txt

二、文件读写(最核心)

1️⃣ 打开文件:open()

open(file,mode='r',encoding=None)

常用模式:

模式含义
r读取(默认)
w写入(覆盖)
a追加
rb/wb二进制读 / 写

2️⃣ 推荐写法:with open

withopen("data.txt","r",encoding="utf-8")asf:content=f.read()

优点:

  • 自动关闭文件
  • 不易泄漏资源
  • 工程级标准写法

3️⃣ 读取方式

f.read()# 全部内容f.readline()# 一行f.readlines()# 行列表

推荐:

forlineinf:print(line.strip())

4️⃣ 写入方式

f.write("hello\n")f.writelines(["a\n","b\n"])

三、目录操作(os 模块)

1️⃣ 判断路径类型

os.path.exists(path)os.path.isfile(path)os.path.isdir(path)

2️⃣ 创建 / 删除目录

os.mkdir("dir")# 单层os.makedirs("a/b/c")# 多层os.rmdir("dir")# 空目录

3️⃣ 列出目录内容

os.listdir(path)

4️⃣ 拼接路径(跨平台)

os.path.join(root,filename)

禁止手写:

root+"/"+filename# ❌

四、遍历目录(重点)

1️⃣os.walk()(递归)

forroot,dirs,filesinos.walk(path):...
返回值含义
root当前目录路径
dirs子目录名列表
files文件名列表

控制递归:

dirs.remove("venv")

2️⃣ 只遍历一层

forroot,dirs,filesinos.walk(path):...break

五、文件名与路径处理

1️⃣ 获取文件扩展名(标准)

name,ext=os.path.splitext(filename)

2️⃣ 文件大小 / 修改时间

os.path.getsize(path)os.path.getmtime(path)

六、文件类型统计(综合示例)

fromcollectionsimportdefaultdictimportos counter=defaultdict(int)forroot,_,filesinos.walk(path):forfinfiles:_,ext=os.path.splitext(f)ext=ext.lower()ifextelse'no_extension'counter[ext]+=1

七、文件复制 / 删除 / 重命名

使用shutil(更安全)

importshutil shutil.copy(src,dst)shutil.move(src,dst)shutil.rmtree(dir_path)

八、使用 pathlib(现代写法)

frompathlibimportPath p=Path("data")forfileinp.rglob("*"):iffile.is_file():print(file.suffix)

对比:

ospathlib
函数式面向对象
老标准新推荐
灵活可读性强

九、输入输出与文件结合

path=input("请输入路径: ")withopen("result.txt","w",encoding="utf-8")asf:f.write(str(result))

十、常见错误总结(重点)

错误原因
文件未关闭未用with open
路径拼接错误手写/
编码报错未指定encoding
扩展名识别错split('.')
重复遍历os.walkbreak

十一、工程实践建议(你这个阶段非常重要)

  1. 路径处理统一用os.path.joinpathlib
  2. 遍历目录首选os.walk
  3. 文件扩展名用splitext
  4. 统计类问题用defaultdict / Counter
  5. 所有文件操作都包在with open

十二、一句话记忆版

Python 文件操作 =open读写 +os.walk遍历 +os.path处理路径

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 1:57:39

Python 爬虫实战:2025年最新全国行政区划代码抓取

目录 🐍 Python 爬虫实战:2025年最新全国行政区划代码抓取(解决反爬与动态加载) 📅 项目背景 🛠️ 技术栈与环境 💡 核心功能实现 1. 健壮的网络请求层(Session & Retry) 2. 混合解析策略(正则大法好) 3. 反反爬虫策略 📊 数据输出格式 1. `administrativ…

作者头像 李华
网站建设 2026/5/1 22:59:00

IWeakEventListener详细解释

一、IWeakEventListener 核心定义 IWeakEventListener 是 WPF 框架中弱事件模式(Weak Event Pattern) 的核心接口,用于实现弱引用事件监听。其核心目的是解决普通事件订阅导致的内存泄漏问题——让事件订阅者(Listener&#xff09…

作者头像 李华
网站建设 2026/5/7 21:21:19

智能制造的分布式认知系统要素分析

一、为什么“智能制造系统”可以被视为一种认知系统?如果我们抽象掉“机器”“产线”“软件系统”的工程表象,而从功能与能力层面来看,现代智能制造系统正在同时具备以下特征:人类认知能力智能制造系统对应能力感知(Pe…

作者头像 李华
网站建设 2026/4/30 3:05:11

在线招生宣传视频制作:内容优化与转化提升技巧

内容优化:用用户视角重构视频叙事1. 痛点挖掘:从“机构想讲”到“用户想听”教育产品的核心是解决需求,招生视频的第一步是站在目标用户——家长与学生的立场,挖掘真实未被满足的痛点。对于K12家长,最迫切的需求是“提…

作者头像 李华
网站建设 2026/4/30 16:53:21

6、Web应用程序安全漏洞检测与分析

Web应用程序安全漏洞检测与分析 在当今数字化的时代,网络安全至关重要。Web应用程序面临着各种各样的安全威胁,如跨站脚本攻击(XSS)、SQL注入、会话劫持等。本文将详细介绍如何使用一些工具和方法来检测这些常见的安全漏洞。 1. 使用Burp Suite查看和修改请求 Burp Suite…

作者头像 李华
网站建设 2026/5/1 7:10:45

AI开发全链路工具深度解析:从智能编码到模型部署

引言:AI开发范式变革人工智能开发正经历着从“手工作坊”到“工业化生产”的深刻变革。这一转变的核心驱动力是一系列专业化AI工具的出现与成熟。智能编码工具如GitHub Copilot改变了开发者与代码的交互方式,数据标注工具将繁琐的标注工作系统化&#xf…

作者头像 李华